繁体   English   中英

MS SQL Server报表生成器报表where子句参数

[英]MS SQL Server Report Builder report where clause parameter

我正在处理Microsoft SQL Server报表生成器报表,但遇到了我似乎无法克服的问题。

我的报告是大学课程的清单。 我需要能够显示所有课程或仅显示那些是通识教育课程的课程。

有可以与课程关联的课程属性。 所有通用教育课程的课程属性均包含#和3个字母。

通过创建一个将#%或%传递到查询的WHERE子句中的参数,解决方案似乎非常简单:

  • WHERE factClassAttributes.CourseAttribute像'#%'(通用课程)
  • 在factClassAttributes.CourseAttribute之类的'%'(所有课程)

我没有指望的是,某些课程没有课程属性,并且使用%的不包含课程属性为空值的记录。

然后我以为我会尝试设置一个参数,该参数包含WHERE子句作为一个值,而将null作为另一个值。 这将生成通用的“ rsErrorExecutingCommand”错误消息。

除了创建不带WHERE子句的相同报告之外,还有人对如何完成此工作有任何建议吗?

谢谢

使用可选参数:

WHERE ((@param1 IS NULL) OR (factClassAttributes.CourseAttribute LIKE @param1 +'%'))

或动态替换null:

WHERE ISNULL(factClassAttributes.CourseAttribute,'%') LIKE '#%'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM