我有一个基本的SQL查询,开始于:
SELECT top 20 application_id, [name], location_id FROM apps
现在,我想完成它,以便做到这一点(用伪代码编写)
if @lid > 0 then
WHERE location_id IN (@lid)
else
WHERE location_id is all values in location_id column
根据要求,这是一个示例
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
@locid是用户给出的结果,例如'33,234'
如果@lid为空,那么我希望它输出具有name和application_id的location_id的所有行。否则,我希望它输出与@lid中提供的数字相关的所有行(代表location_id。
因此,如果@lid为0:
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
否则,如果@lid包含“33”
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
3 Jeremy Carr 33
最佳答案
尝试使用案例,它可用于IIF或三元运算符。请检查此链接http://msdn.microsoft.com/en-us/library/ms181765.aspx
干杯