Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
或者mySQL查询中的WHERE和and_Mysql_Sql - Fatal编程技术网

或者mySQL查询中的WHERE和and

或者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 = '

基本上,我试图从一个基于两个不同组的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 = '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分钟,但一旦时间过去,我肯定会这样做。