首页 > 解决方案 > 带查询的 Oracle 报表参数

问题描述

我有一个查询,其中获取一些参数,现在我有一些带有 org_id 的条目和一些没有 org_id 的条目,但是当我运行此查询时,它没有显示没有 org_id 的数据我只想运行查询数据是否有 org_id。查询在这里

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

标签: sqloracleplsqltoadoraclereports

解决方案


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

如果是这样,你的

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

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

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

推荐阅读