基本上,我试图从基于两个不同组的SQL中获取数据,t.type必须相等single并且t.status必须相等,1但是至于t.org我想要同时获得DUAL和RA,这是我尝试的无济于事。
t.type
single
t.status
1
t.org
DUAL
RA
SELECT COUNT( p.tID ) FROM ticket AS t INNER JOIN people AS p ON t.ID = p.tID WHERE t.type = 'single' AND t.status='1' AND t.org = 'RA' OR t.org = 'DUAL'
我很确定他们的方法可以使此查询正常工作,只是不在我脑海
AND具有比更高的优先级OR,因此您现有的表达式当前被评估为:
AND
OR
WHERE (t.type = 'single' AND t.status='1' AND t.org = 'RA') OR t.org = 'DUAL'
要强制使用替代逻辑,需要包括显式括号:
WHERE t.type = 'single' AND t.status='1' AND (t.org = 'RA' OR t.org = 'DUAL')
但是,在这种情况下,可以使用MySQL的IN()运算符代替OR:
IN()
WHERE t.type = 'single' AND t.status='1' AND t.org IN ('RA','DUAL')