我正在尝试检查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
答案 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