Sql SSR在两个不同的参数中选择空值

Sql SSR在两个不同的参数中选择空值,sql,reporting-services,Sql,Reporting Services,第一个参数数据集: SELECT DISTINCT Code, [Desc] FROM TableName UNION SELECT 'NULL' AS Code, 'NULL' as [Desc] SELECT EventCode FROM TableName UNION SELECT 'NULL' AS EventCode 第二个参数数据集: SELECT DISTINCT Code, [Desc] FROM TableName UNION SELECT 'NULL' AS Co

第一个参数数据集:

SELECT DISTINCT Code, [Desc]
FROM  TableName
UNION
SELECT 'NULL' AS Code, 'NULL' as [Desc]
SELECT EventCode
FROM  TableName
UNION
SELECT  'NULL' AS EventCode
第二个参数数据集:

SELECT DISTINCT Code, [Desc]
FROM  TableName
UNION
SELECT 'NULL' AS Code, 'NULL' as [Desc]
SELECT EventCode
FROM  TableName
UNION
SELECT  'NULL' AS EventCode
主要数据集:

Select FieldName1, FieldName2, FieldName3......
From TableNames
Where (isnull(Dispo,'NULL') IN (@Code) )
AND (isnull(Special_Event_Code,'NULL') IN (@EventCode)

问题:我想让它在两个参数上都是多选的,如果有空值,我想在两个参数中都选择NULL。当我运行报告时,我可以从@EventCode中获取NULL,但当我从第一个参数中选择NULL,从第二个参数中选择NULL时,将不显示任何内容。若我从第一个参数中选择其他值,从第二个参数中选择NULL,则报告运行正常。任何帮助都将不胜感激。谢谢

您是否试图让
'NULL'
选择作为全部?或者您确实在寻找
NULL
字段?如果是后者,表中是否有
Dispo
Special_Event_code
NULL
的记录?如果是前者,则需要调整where子句
如果@code='NULL'或Dispo IN(@code)
可能需要在where子句中使用“或”而不是“和”。如果我选择All或只是选择NULL,则在第一个参数中忽略NULL值。如果@Code='NULL'或(@Code)中的Dispo无效,请尝试。我必须使用和从两列中捕获空值。谢谢你们两位的回复。可能是因为你们没有两个字段都为空的记录吗?听起来你们在Dispo中没有空值的列。从Dispo为NULL的表名中选择COUNT(*)。如果您的查询比您发布的更复杂,则可能是一个正在消除空值的联接操作。