【发布时间】:2012-09-08 10:26:20
【问题描述】:
我有一个 keywords 和一个 categories 表,其中有一个 ID 和一个 name col(我可以' t 将它们合并到一个表中!)
有一个 articles 表,其中包含 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 的文章怎么办?我想不出正确的查询。
【问题讨论】:
标签: mysql sql many-to-many