【问题标题】:Parameter of Oracle Reports with Query带查询的 Oracle 报表参数
【发布时间】:2020-09-05 07:39:05
【问题描述】:

我有一个查询,现在获取一些参数不是。查询在这里

SELECT ii.item_desc,
         II.ITEM_CODE,
         ii.uom,
         TO_CHAR (ISL.TRAN_DATE, 'Mon-rr') month,
         TO_CHAR (ISL.TRAN_DATE, 'rr-mm') mon,
         MONTHS_BETWEEN
       (TO_DATE(:edate),
      TO_DATE(:sdate) ) Months,
         ABS (SUM (isl.qty)) qty
    FROM inv_stock_ledger isl, inv_items ii
   WHERE     isl.item_id = II.ITEM_ID
         AND ISL.TRAN_TYPE IN ('SIN', 'SRN', 'STN')
         and II.IS_ACTIVE = 'Y'
         AND ISL.TRAN_DATE BETWEEN '01-jan-20' AND '31-may-20'
         AND isl.item_id = NVL ( :item, isl.item_id)
         AND isl.company_id = NVL ( :comp, isl.company_id)
         AND isl.branch_id = NVL ( :branch, isl.branch_id)
         AND isl.store_id = NVL ( :store, isl.store_id)
         AND II.ITEM_CATEGORY_ID = NVL( :VAL_ID, II.ITEM_CATEGORY_ID)
         AND isl.ORG_ID = NVL ( :dept, isl.ORG_ID)
GROUP BY ii.item_desc,
         II.ITEM_CODE,
         ii.uom,
         TO_CHAR (ISL.TRAN_DATE, 'Mon-rr'),
         TO_CHAR (ISL.TRAN_DATE, 'rr-mm')
ORDER BY TO_CHAR (ISL.TRAN_DATE, 'rr-mm'), II.ITEM_DESC asc

【问题讨论】:

  • 可能类似于OR isl.ORG_ID IS NULL:dept IS NULL,确保括号相应放置。您可能也想在查询中使用 ANSI JOIN 语法

标签: sql oracle plsql toad oraclereports


【解决方案1】:

据我了解,isl.org_id 在某些行中具有价值,而在其他行中是 NULL

如果是这样,你的

AND isl.ORG_ID = NVL ( :dept, isl.ORG_ID)

注意:dept 参数是否为空,而不是相反。应该是这样的(假设 ID 的数据类型是数字):

and nvl(isl.org_id, -1) = nvl(:dept, -1)

【讨论】:

  • 我建议你创建一个新问题;这个问题解决了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多