SQL 2008案例在哪里

Jam*_*son 1 sql sql-server

我正在使用SQL 2008服务器.

我有一张桌子(比如Salemen),其中一列是推销员的状态(列是xStatus).

xStatus为null,或"I"表示非活动状态,或者"D"表示将来删除.

需要一个查询,用户可以指定查看所有销售人员,所有状态或仅查看活动的销售人员.

我在Where子句中遇到存储过程查询问题.

变量传递给query(@Action),指定在哪里查看所有状态(@Action = 1)或仅查看活动的Salesmen(@Action = 2).

伪代码

Select *
From Salesmen
Where
If @Action = 1
select regardless of status
If @Action = 2
only select when xStatus is null
Run Code Online (Sandbox Code Playgroud)

Dav*_*idG 5

可以OR像这样完成:

SELECT * 
FROM SalesMen
WHERE (@Action = 1)
OR (@Action = 2 AND xStatus IS NULL)
Run Code Online (Sandbox Code Playgroud)