我有一个分类代码的查询:如果'PC'它返回'Compatible,如果Null则返回Unclassified,如果其他所有内容返回'Not-Compatible'。别名列是“分类”。
> SELECT CASE WHEN class.code IS NULL THEN 'Unclassified'
> WHEN class.Code = 'PC' THEN 'Compatible' ELSE 'Not-Compatible'
> END Classification, FROM classification class
现在我想将此分类设置为我的SSRS报告中的参数。
WHERE class.Code LIKE @Classification
中
因此,在我的报告中,用户被提示选择分类,如何让用户选择“其他”返回“未分类”?我不能使用别名列名称“分类”来获取值。如果有办法将多个值设置到“未分类”标签中?
答案 0 :(得分:1)
您可以将此逻辑构建到WHERE子句中。首先将Non-Compatible的值更改为“NC”。然后你可以做这样的事情:
WHERE (@Classification != 'NC' and class.Code LIKE @Classification)
OR (@Classification = 'NC' and class.Code != 'PC')
答案 1 :(得分:1)
尝试将您的查询修改为:
SELECT WhatEverColumnYouNeed
FROM classification
WHERE (CASE WHEN class.code IS NULL THEN 'Unclassified'
WHEN class.Code = 'PC' THEN 'Compatible'
ELSE 'Not-Compatible' END
)
IN (@Classification)
然后让@Classification成为一个多值参数。将可用值设置为Unclassified,Compatible和Not-Compatible。值与标签相同。