0

您好我有一个查询,我想返回一个值。如果我分两部分运行查询并将它们加在一起,那很好,但是当我尝试使用 OR 运算符时,值会大大增加。

这是第一个查询:

    select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '1'

这将返回 3867

这是第二个:

 select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '01'

这返回 9

当我使用 Or 运行它时

 select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '1' OR SECTOR = '01'

我得到了 4066 的值,任何人都想要 3876 的数字

4

3 回答 3

2

and绑定比 强or。使用括号

select count (*) 
from tablename 
where DATE_TRE = '2013-10-06' 
and (SECTOR= '1' OR SECTOR = '01')

或者

select count (*) 
from tablename 
where DATE_TRE = '2013-10-06' 
and SECTOR in ('1', '01')
于 2013-10-07T12:28:49.533 回答
2

我认为是因为它像这样评估它

select count (*) 
from tablename 
where (DATE_TRE='2013-10-06' and SECTOR= '1') OR SECTOR = '01'

当你在寻找这个(试试这个)

select count (*) 
from tablename 
where DATE_TRE='2013-10-06' and (SECTOR= '1' OR SECTOR = '01')
于 2013-10-07T12:29:20.973 回答
1

在 SECTOR= '1' OR SECTOR = '01' 周围放一些大括号:

select count (*) from tablename where DATE_TRE='2013-10-06' 
and ( SECTOR= '1' OR SECTOR = '01')
于 2013-10-07T12:30:14.703 回答