【发布时间】:2021-06-17 03:34:49
【问题描述】:
我有一个查询的情况如下。
在 SSRS 中,我有一个名为 Block 的 @Parameter,其值如下:块 A、块 B 和块 C。用户将选择日期范围,然后选择块值。
输出本质上是一个显示名称的资格系统: 主要查询如下:
Select EmpName, EmpID from EmpDtls where EmpassignID in (@Block)
现在我想做的如下:
当用户选择一个块时:查询应根据查询验证参数。有没有可能做这样的事情:
select Case
when (@Block) = A then (select Personnel_level from Block where PersnelQual = 'A', 'B')
when (@block) = C then (select Personnel_level from Block where PersnelQual = 'B', 'C')
END
from PersnelQual
所以当用户使用以下参数运行报表时:
开始日期:05/01/2021 结束日期:05/07/2021 块:A
输出应该是这样的
| Emp Name | Emp Id |
|---|---|
| Jim | 123 |
| Mary | 456 |
这可能吗?
【问题讨论】:
-
@Block是什么?逗号分隔的varchar?那你需要拆分字符串,你有哪个版本的SQL Server?
标签: sql sql-server ssrs-2008 ssrs-2012 ssrs-2008-r2