带有嵌套子句的Where语句中的SQL唯一标识符

时间:2014-08-14 17:56:47

标签: sql sql-server

我正在尝试从某些密钥/ IDS中提取某些要求的数据。 ID是填充的,或者是null或-1。数据看起来像这样

ID1    ID2     ID3 
3143   NULL    93484
-1     -1      NULL
1134   8493    4345    
NULL   NULL    NULL
-1     -1      -1

我有规则,我需要提取ID,如果不是null或等于负1.这是我的查询的一部分,它不起作用。

    where (ID1 is not null or ID1 <> '-1' ) and  (ID2 is not null or ID2 <> '-1' )
     and  (ID3 is not null or ID3 <> '-1' )

计数不加起来,并没有捕获所有的IDS。有什么想法吗?

哦,列都是VARCHAR(250)

1 个答案:

答案 0 :(得分:2)

使用and将强制查询返回与所有三个“设置”条件匹配的数据

where (ID1 is not null or ID1 <> '-1' ) or (ID2 is not null or ID2 <> '-1' )
or  (ID3 is not null or ID3 <> '-1' )