SQL 2008案例在何处
我正在使用SQL 2008 server 我有一个表(比如Salemen),其中一列是销售人员的状态(列是xStatus) xStatus为null,或“I”表示不活动,或“D”表示将来删除 需要一个查询,用户可以指定查看所有销售人员、所有状态或仅查看活动销售人员 我在Where子句中的存储过程查询中遇到问题 变量被传递给查询(SQL 2008案例在何处,sql,sql-server,Sql,Sql Server,我正在使用SQL 2008 server 我有一个表(比如Salemen),其中一列是销售人员的状态(列是xStatus) xStatus为null,或“I”表示不活动,或“D”表示将来删除 需要一个查询,用户可以指定查看所有销售人员、所有状态或仅查看活动销售人员 我在Where子句中的存储过程查询中遇到问题 变量被传递给查询(@Action),指定在何处查看所有状态(@Action=1)或仅查看活动销售人员(@Action=2) 伪码 Select * From Salesmen 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
可以通过以下方式使用
或完成:
SELECT *
FROM SalesMen
WHERE (@Action = 1)
OR (@Action = 2 AND xStatus IS NULL)
可以通过以下方式使用或完成:
SELECT *
FROM SalesMen
WHERE (@Action = 1)
OR (@Action = 2 AND xStatus IS NULL)
谢谢,没错。我想得太多了,或者根本没想。谢谢,这是正确的。我想得太多了,或者根本没有思考。