我对SSRS的T-SQL语句有疑问。在我的报告中,我有2个变量,用户只能选择一个变量。我必须编写一个取决于用户选择的查询。我试着举个例子:
@varA = 'sometext'
@varB = 'othertext'
SELECT A.SomeValue, B.SomeValue
FROM tableA AS A
INNER JOIN tableB AS B ON A.ID = B.ID
WHERE
(and here comes my problem)
答案 0 :(得分:0)
尝试这样的事情。
SELECT A.SomeValue, B.SomeValue
FROM tableA AS A
INNER JOIN tableB AS B ON A.ID = B.ID
WHERE (sometext_col = @varA or @varA is null)
And (othertext_col = @varB or @varB is null)
此查询将根据用户选择返回行。
如果用户仅选择@varA
,则会根据数据过滤数据
@varA
如果用户仅选择@varB
,则会根据数据过滤数据
@varB
如果用户同时选择@varA
和@varB
,则会过滤数据
两个变量。
如果用户没有选择任何内容,则会返回所有行 从表中。
注意:当用户没有选择变量时,请确保它是NULL