SQL Server:选择所有行,如果4列中的任何一列的值为' N'

时间:2014-11-28 09:28:36

标签: sql sql-server tsql select

这是我在表格中的数据。

**ID    webLoad transmitted transmissionRcvd    ackRcvd**
   1       Y       Y              N                N
   2       Y       N              Y                N
   3       Y       Y              Y                Y
   4       N       Y              Y                N
   5       Y       N              N                Y
   6       N       Y              Y                Y
   7       Y       Y              Y                Y
   8       Y       Y              Y                N
   9       Y       Y              Y                Y

我希望能够选择所有行,如果上述4列中的任何一列的值为' N'

所以结果中的行应该是ID = 1,2,4,5,6,8

注意:在某些情况下,所有列的输入都不相同。我的意思是可能存在webLoad的参数将为null或“' Y'和' N'为他人。这些列中的任何一个都可能发生同样的情况。

3 个答案:

答案 0 :(得分:11)

select * from your_table
where 'N' in (webLoad, transmitted, transmissionRcvd, ackRcvd)

答案 1 :(得分:2)

SELECT * 
FROM table
WHERE webload = 'N' 
OR transmitted = 'N'
OR transmissionRcvd = 'N'
OR ackRcvd = 'N'

答案 2 :(得分:0)

Select * from TableName a
Where 
a.webLoad ='N' or 
a.transmitted ='N' or 
a.transmissionRcvd ='N' or 
a.ackRcvd ='N'