T-SQL如何在where子句中检索true或false或两者

时间:2016-05-24 14:43:29

标签: sql-server tsql

我在sql server

中有以下表格
ItemID OrderID  personId  Active
1       1         1         0
2       1         1         1
3       1         1         1
4       1         1         1

我有存储过程

GetRecords(@OrderId,@PersonId, @Active)

select * from Records where OrderID = @orderId and PersonId = @PersonId

根据OrderID,PersonID带来记录 现在我想基于@Active应用其他过滤器 如果它是活动的,那么只带来活动记录 如果它不活跃带来活动和非活动
我如何在where子句

中实现这一点

1 个答案:

答案 0 :(得分:0)

试试这个:

select * 
from Records 
where OrderID = @orderId and PersonId = @PersonId and 
      ((@active = 1 and active = 1) or (@active = 0))