mysql - SQL 选择多个 AND

标签 mysql sql select where-clause

我有一个很长的 sql 语句,我试图向其中添加一些 AND 条件,但它不起作用。

这是我的声明:

if($cat=="att") { $sqlCatC = "INNER JOIN yt_att_data CAT
    ON CAT.busID = R.id AND CAT.subcatID = 5 AND CAT.subcatID = 136 AND CAT.deleted = 0"; }

//Get RegionInfo busID based on region, approved
    $sql= "SELECT DISTINCT CAT.busID,R.id,companyName,membershipID,addressID,city,logo,descriptionShort FROM yt_Business_RegInfo R
    $sqlReg
    INNER JOIN yt_Business_Seasons S
    ON R.id = S.busID AND S.deleted = 0
    INNER JOIN yt_Business_Address A
    ON R.addressID = A.id
    INNER JOIN yt_Business_Membership M
    ON R.membershipID = M.id AND M.approved = 1
    $sqlCatC
    WHERE R.deleted = 0
    ORDER BY R.companyName ASC LIMIT $start, $limit";

在顶部 $sqlCatC 中,我尝试添加一个 AND 条件,其中 CAT.subcatID 等于 5 和 136。它适用于检查单个 CAT.subcatID,但不适用于两个。如有任何建议,我们将不胜感激。

最佳答案

使用 IN 关键字,如下所示:

CAT.subcatID IN(5,136)

替换你的两个AND。

关于mysql - SQL 选择多个 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5653094/

相关文章:

sql - 为什么不为 Postgres View 启用行级安全性?

mysql - 选择每个玩家的最佳分数

SQL Server - 如何将(nolock)提示设置为默认值?

sql - MS Access 等效于在 select 中使用ensemble_rank

java - 无法使用 memcached 正确检索列名

php - Laravel orWhere()/MySQL 或查询需要很长时间

mysql - 如何获得mysql中两个表之间的比较差异列值

mysql - 无法创建多可用区 Aurora RDS 实例

mysql - SQL 表 - 根据 table1 值计算 table2 中的行

sql - 将 Sub 查询转换为单个查询 Hive