如何使用SQL检查列字段中是否有任何零

时间:2014-01-15 14:29:26

标签: sql sql-server tsql

我正在尝试检查Flag1或Flag2字段中是否有任何零,但是当我运行下面的代码时,我得到了错误的结果。在这种情况下,我知道Flag1字段中有一个零,但是当我运行SQL时,我的计数为零。如果在任一字段中都有一个零,那么我希望看到计数为> = 1。如果两个字段中都没有零,那么我希望零计数。我怎么能得到它?谢谢 这是我的代码:

select count(*) from myTable 
where FLAG1 in(0) and FLAG2 in(0)
and ID = 202

以下是我的例子:

FLAG1    FLAG2
  1         1
  1         1
  1         1
  0         1

3 个答案:

答案 0 :(得分:2)

而不是and使用or(除非您提供值列表或子查询,否则不要使用in):

select count(*) from myTable 
where (FLAG1=0 or FLAG2=0)
and ID = 202

答案 1 :(得分:1)

我认为这是真的:

 select count(*) from myTable 
    where FLAG1=0 or FLAG2 =0
    and ID = 202

答案 2 :(得分:1)

select count(*) from myTable 
where (FLAG1 = 0 or FLAG2 = 0)
and ID = 202