我的查询运行得很好,就像这样
WHERE (customer IN (@cust))
和@cust是客户或多个客户列表
我要添加的内容是AND
,其他可选参数中包含更多内容,例如
No: @expiring = " "
OR
Yes: @expiring = " AND getDate() >= dateAdd(d,[expiryWarning],[expiryDate]) "
然后我想将其添加到WHERE
的末尾,并且如果从下拉列表中选择“是”或“否”,则将其添加到第二部分,以便我可以显示整个客户列表或只是在报告中到期的那些。
WHERE (customer IN (@cust)) @expiring
但是当我尝试运行此报告时发现错误
there's an error near @expiring
任何见解?我整天都在搜索,这有可能吗?
答案 0 :(得分:2)
您需要更改where子句,以便将@expiring
考虑在内。
WHERE customer in (@cust)
AND (@expiring='No' OR getDate() >= dateAdd(d,[expiryWarning],[expiryDate]))
因此,如果@expring为'No',则WHERE子句的该部分始终返回true。如果expiring ='Yes',则日期条件必须为true,否则该部分将返回false。