使用 AND 和 OR 的 mysql 查询 where 子句

标签 mysql sql

谁能帮我解决这个问题:

 SELECT SQL_CALC_FOUND_ROWS * 
          FROM Punches
          WHERE Serial LIKE '%123%'
          OR Badge LIKE '%123%'
          OR Search_Date LIKE '%123%'
          OR Punch_Time LIKE '%123%'
          OR Device_Name LIKE '%%'
          AND Company_ID = '0002'
          LIMIT 0, 20

本质上,我想搜索所有类似 123 但必须具有 Company_ID = '0002' 的字段。此查询返回没有 Company_ID = '0002' 的行

最佳答案

试试这个...

 SELECT 
    SQL_CALC_FOUND_ROWS * 
 FROM 
    Punches
 WHERE 
    (Company_ID = '0002') AND 
    (Serial LIKE '%123%'
     OR Badge LIKE '%123%'
     OR Search_Date LIKE '%123%'
     OR Punch_Time LIKE '%123%'
     OR Device_Name LIKE '%%')
 LIMIT 0, 20

关于使用 AND 和 OR 的 mysql 查询 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618340/

相关文章:

Mysql 授予所有权限未得到应用

mysql if语句跨Group by语句在同一行

mysql - 在 SQL 查询中排除喜欢和不喜欢的页面?

sql - 使用索引子句

mysql - SQL,难以获取数据查询

sql - 空值与特殊的预定义空值

php - MYSQL 类数组 SELECT 语句

mysql - MySQL 中的计数查询

java - 从 TypedQuery 中查找 native SQL 查询

sql - postgresql函数-获取受更新查询影响的行数