我有一个脚本,允许用户生成报告。他们选择了选择,其中之一就是地点。它包含了一个位置列表,第一个选项是“全部”。
当您选择all时,我希望它包含在location列中的任何内容。
这是我目前的发言。
IF (@action = 'searchActivityLog')
IF (@type = 'actor')
BEGIN
SELECT actor,
action,
CONVERT (VARCHAR (20), timestamp, 100) AS timestamp,
[key],
location
FROM Keys_Log
WHERE actor = @data AND location = @location
ORDER BY timestamp asc
FOR XML PATH ('results'), TYPE, ELEMENTS, ROOT ('root');
END
ELSE有没有一种方法基本上可以说,如果Location = All那么甚至不包括在where子句中?
发布于 2013-09-08 03:31:00
你能不能把
location = @location OR @location = 'All'在where条款中。
惟一的其他选择是Dynamics,但这会使事情变得更加复杂。看见
例如,http://www.techrepublic.com/blog/the-enterprise-cloud/generate-dynamic-sql-statements-in-sql-server/。
https://stackoverflow.com/questions/18680101
复制相似问题