我正在使用SQL 2008服务器。
我有一张桌子(比如Salemen),其中一列是推销员的状态(列是xStatus)。
xStatus为null,或“I”表示无效,或者“D”表示将来删除。
需要一个查询,用户可以指定查看所有销售人员,所有状态或仅查看活动的销售人员。
在Where子句中遇到存储过程查询问题。
将变量传递给查询(@Action
),指定查看所有状态(@Action = 1
)或仅查看活动销售员(@Action = 2
)的位置。
伪代码
Select *
From Salesmen
Where
If @Action = 1
select regardless of status
If @Action = 2
only select when xStatus is null
答案 0 :(得分:5)
可以使用OR
这样完成:
SELECT *
FROM SalesMen
WHERE (@Action = 1)
OR (@Action = 2 AND xStatus IS NULL)