我有这个SQL查询:
SELECT DISTINCT c.id, c.name
FROM cars c LEFT JOIN
_rel_cars_categories rcc ON c.id=rcc.car_id
WHERE (rcc.category_id=33 AND rcc.category_id=51)
AND c.status >=10
表格:
不幸的是,它返回0个结果。当我替换AND或OR时,它工作正常,但是我想同时获得这两个类别中的所有ar。也可以是3、4、5 ...个类别。如何获得正确的结果?
最佳答案
要选择类别为33和51的汽车,请尝试以下操作:
SELECT c.id, c.name
FROM cars c JOIN
_rel_cars_categories rcc ON c.id=rcc.car_id
WHERE rcc.category_id IN (33,51) AND c.status >=10
GROUP BY c.name
HAVING count( distinct rcc.category_id ) = 2
关于mysql - MySQL从多个类别中选择项目不返回任何结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23684405/