php - 使用 in () 的 Mysql 查询不起作用

标签 php mysql sql

我试图通过此查询查找与类别列表相关的所有产品:

SELECT p.id, product_name, added_date 
FROM products p, products_to_categories ptc 
WHERE ptc.category_id in ("89,88,83,87,84,85,86,82") 
AND ptc.product_id=p.id and p.active="1" 
group by p.id   

如果我削减条件 AND ptc.product_id=p.id 返回行 - 事件条件的错误行.. 通过 1 个查询获取正确信息的正确方法是什么? - 有可能吗? 谢谢

最佳答案

不要引用类别 ID 列表:

SELECT p.id, product_name, added_date 
FROM products p
JOIN products_to_categories ptc ON ptc.product_id=p.id
WHERE ptc.category_id IN (89, 88, 83, 87, 84, 85, 86, 82) 
AND p.active="1" 
GROUP BY p.id

关于php - 使用 in () 的 Mysql 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22126479/

相关文章:

javascript - 禁用 javascript 时重定向单页网站

php - 使用sql和php按周获取数据

php - 如何强制依赖项中的开发依赖项也与 Composer 一起安装?

mysql - 使用多个服务器处理过时的缓存

php - 有没有办法在 PHP 中按表名分隔 MySQL 查询结果?

mysql - 格式化 mysql 查询输出

php - 无法使用 Cron 作业连接到 MySQL 数据库

php - 使用 PDO 将整数从 64 位转换为 32 位

mysql - mysql 查询中烦人的 IF/THEN 语句

javascript - 使用 2 种形式的 SQL 查询更新 DIV