【发布时间】:2022-07-14 21:04:55
【问题描述】:
我正在使用存储过程和 SSRS。 我的数据有一列具有二进制值(1=Inside/2=Outside)。在报告中,用户可以选择内部 (1)、外部 (2) 或两者 (3) 的参数选项。在 where 子句中,我使用了以下 CASE 语句,该语句适用于选择内部或外部但同时选择两者时不返回数据。
WHERE db.Location = CASE WHEN @loc = 1 THEN 1 ELSE CASE WHEN @loc = 2 THEN 2 END END
我可以使用什么来实现与上述相同的功能,但添加同时选择两者的功能?
【问题讨论】:
-
where @loc = 3 or dbo.location = @loc。还有,你好像误会了case,比你想象的要简单!你不必做case when a then b else case when c then d end end。你可以做case when a then b when c then d end
标签: sql tsql stored-procedures reporting-services where-clause