如何解决在Oracle中为SSRS报告允许多个值
我有一个获取数字1到10的查询。此查询正在SSRS报告中使用,以过滤出更大的数据集。
我想知道我们将如何获得“全部”-参数属性选项中有一个“允许多个值”选项,但我认为这只是将数字连接在一起,所以将(1,2,3等),因此我不确定Oracle是否可以处理。
我的查询以获得ContractTypes -1至10:
WITH ContractTypes (ContractType) AS (
SELECT -1 FROM dual
UNION ALL
SELECT ContractType+1
FROM ContractType
WHERE ContractType< 10)
SELECT *
FROM ContractTypes
我的查询以在另一个数据集中获取contractTypes。我不确定是否需要更改此值以拆分字符串以处理多个值。我正在使用-1处理null。
SELECT *
FROM Employee
WHERE contract_type NVL(CONTRACT_TYPE,-1) = :contract_type
我正在使用Visual Studio 2008为我的oracle代码构建报表和pl / sql开发人员。
非常感谢您的帮助:)
解决方法
在使用整数处理ALL时,我通常对ALL使用0来保持简单。
SELECT *
FROM Employee
WHERE (
contract_type NVL(CONTRACT_TYPE,-1) = :contract_type
OR :contract_type = 0
)
如果您不希望使用NULL,则需要将OR更改为
SELECT *
FROM Employee
WHERE (
contract_type NVL(CONTRACT_TYPE,-1) = :contract_type
OR (CONTRACT_TYPE IS NOT NULL AND :contract_type = 0)
)
,
这是我的工作;创建第二列,分别将NULL
和ALL
添加到-1和-2。然后,将SSRS中的DisplayFigure
列用于过滤器。
SELECT
ContractType,CASE WHEN ContractType = -2 THEN 'All'
WHEN ContractType = -1 THEN'Null'
ELSE to_Char(ContractType)
END AS DisplayFigure
FROM ContractTypes
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。