sql - 带查询的 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
解决方案
据我了解,它isl.org_id
在某些行中具有价值,而NULL
在其他行中具有价值。
如果是这样,你的
AND isl.ORG_ID = NVL ( :dept, isl.ORG_ID)
关心:dept
参数是否为空,而不是相反。应该是这样的(假设 ID 的数据类型是数字):
and nvl(isl.org_id, -1) = nvl(:dept, -1)
推荐阅读
- html - 在netbeans中运行jsp文件时,记录未插入到derby数据库表中
- bash - 从 ZSH 切换到 BASH 后未找到 BREW
- git - 如何发布:使用 git-crypted 文件执行
- javascript - 如何在给定条件下更改按钮背景
- ios - 如何使 UICollectionView 相对于其中心动画插入?
- python - 成员加入公会时如何添加角色
- sass - 如何制作可定制的圆段长度混合?
- javascript - 在 React.js 中将值从一个函数传递到另一个函数
- reactjs - socket io客户端和服务器之间的连接问题
- javascript - 如何附加或插入元素作为元素的包装器/容器