簡體   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