mysql - OR WHERE 和 AND 在 mySQL 查询中

标签 mysql sql

基本上,我试图从基于两个不同组的 SQL 中获取数据,t.type 必须等于 singlet.status 必须等于 1 但对于 t.org 我希望它同时获得 DUALRA ,这是我尝试过但无济于事的方法。

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 具有更高的 precedenceOR,因此您现有的表达式当前计算为:

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:

WHERE 
    t.type = 'single' AND t.status='1' AND t.org IN ('RA','DUAL')

关于mysql - OR WHERE 和 AND 在 mySQL 查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17750098/

相关文章:

sql - SSIS 包不想获取临时表的元数据

php - 合并其他问题的mysql中的两个查询

mysql - JPQL JOIN查询对应值的行数(针对多列)

php - mySQL concat if null 删除文字

mysql - Sql实现方法选择

mysql - Web 应用程序无法连接到数据库

mysql - 从表中选择两个项目作为两个不同的事物

mysql - 如何在 MySQL 中间使用 NULL 进行排序

mysql - 十六进制文本转字符串并定位具体信息

sql - Oracle 11g 选择不同而不是唯一