或者mySQL查询中的WHERE和and
基本上,我试图从一个基于两个不同组的SQL中获取数据,或者mySQL查询中的WHERE和and,mysql,sql,Mysql,Sql,基本上,我试图从一个基于两个不同组的SQL中获取数据,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 = '
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'
我很确定他们有一种方法可以让这个查询正常工作,只是在我的脑海中没有
,而且
的值高于或
,因此您现有的表达式当前的计算结果为:
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的运算符而不是或:
WHERE
t.type = 'single' AND t.status='1' AND t.org IN ('RA','DUAL')
您可以在以下条件下使用:
WHERE
t.type = 'single' AND t.status = '1' AND t.org IN ('RA','DUAL')
也可以使用括号对条件进行分组:
WHERE
t.type = 'single' AND t.status = '1' AND (t.org = 'RA' OR t.org = 'DUAL')
该修订版提供了一个更简单的回答,并允许我写一个简短的问题。如果这是您问题的正确答案,请将其标记为正确答案。我不能再等待20分钟,但一旦时间过去,我肯定会这样做。