SQL 2008案例在哪里

时间:2014-05-23 13:06:36

标签: sql sql-server

我正在使用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

1 个答案:

答案 0 :(得分:5)

可以使用OR这样完成:

SELECT * 
FROM SalesMen
WHERE (@Action = 1)
OR (@Action = 2 AND xStatus IS NULL)