sql - 列出全部或指定值 - SSRS 参数

标签 sql sql-server t-sql reporting-services

我正在SSRS中制作报告,我可以输入参数值并获得结果。但我想要的是,例如,如果我输入“全部”,则列出所有服务器,或者列出我输入的特定服务器。

这是 TSQL 更改吗?或者改变SSRS参数设置?有人对如何实现这一目标有建议吗?

这是我尝试过的:

DECLARE @p_ServerName varchar(10) = 'all'
DECLARE @p_Env nvarchar(10)
DECLARE @p_EnvCat nvarchar(10)

SELECT     BlockSize, BootVolume, Compressed, SystemName = @p_ServerName, Label, Caption, PageFilePresent,
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', Capacity) AS Capacity,
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', FreeSpace) AS [Free Space], 
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', Capacity - FreeSpace) AS [Used Space],
           100 * FreeSpace / Capacity AS [Free Space %],

           [CLE_ENV_SHORT], [CLE_ENV_CAT_SHORT]



FROM       CCS_Win32_Volume, [dbo].[CCS_V_SERVER_INSTANCE_DETAILS]


WHERE      (@p_ServerName = SystemName) OR (@p_ServerName = 'all')
AND        [CLE_ENV_SHORT] = @p_Env 
AND        [CLE_ENV_CAT_SHORT] = @p_EnvCat

使用所有硬编码参数,我应该看到所有结果,对吧?但我没有得到任何结果返回。

最佳答案

您可以相应地编写 WHERE 子句:

select ...
from mytable
where @param = col or @param = 'all';

关于sql - 列出全部或指定值 - SSRS 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761345/

相关文章:

sql - where 子句中的条件 'and' 取决于现有值?

c# - 运行 C# .NET Winform 应用程序,该应用程序使用 SQL Server 作为数据库,仅将 .mdf 文件放置在用户 PC 上

java - 在 Vaadin 项目中找不到合适的驱动程序

sql-server - 查找 2 个 SQL Server 表之间的重复项并返回另一个表中的两个值并更新为重复项

sql - 为多于一列选择最大值?

python - 为什么 Django 会为 auth.User.username 设置一个较短的外键最大长度?

mysql - 极其缓慢的嵌套 mySQL 查询

mysql - 从第二个查询的平均值中减去第一个查询的平均值

sql-server - Tsql 从表创建 Xml

sql-server - SQL Server 在不聚合的情况下透视数据