我有关键字和类别表,其中包含 ID 和名称 col(我可以'将它们合并为一个表!)
有一个带有ID,名称,文字的文章表。
多对多连接表:
ckw ,列:key_id,article_id
ccat 的类别,列:cat_id,article_id
我可以编写一个查询来获取属于关键字ID 5的文章 AND ID 7:
SELECT articles.name FROM articles
JOIN ckw ON (ckw.article_id = articles.id)
WHERE ckw.key_id IN (5, 7)
GROUP BY ckw.article_id
HAVING COUNT(ckw.key_id) = 2
但是,如果我想获得属于关键字ID 5 AND ID 7的文章,并且还属于类别ID 12 AND ID 18,该怎么办?我无法找出正确的问题。
答案 0 :(得分:0)
SELECT articles.name
FROM articles
inner JOIN ckw ON ckw.article_id = articles.id
inner join ccat on ccat.article_id = articles.id
WHERE ckw.key_id IN (5, 7)
and ccat.category_id in (12,18)
GROUP BY articles.article_id , articles.name
HAVING COUNT(distinct ckw.key_id) = 2
and count(distinct ccat.category_id) = 2