【发布时间】:2020-12-17 14:11:43
【问题描述】:
我在 PostgreQL 13 中有一个 article 表和一个 tag 表。article 和 tag 具有多对多关系。使用以下架构创建数据透视表 article_tag:
- FOREIGN KEY article_id REFERENCES article(id)
- FOREIGN KEY tag_id REFERENCES tag(id)
现在给定一个标签 ID 列表(ID1、ID2、ID3...),我如何查询所有具有这些标签的文章?我想过使用类似的东西:
SELECT article_id FROM (
SELECT article_id FROM article_tag WHERE tag_id = ID2
) WEHRE tag_id = ID1;
但是如果标签id列表很长,这个查询会嵌套复杂。
【问题讨论】:
标签: sql postgresql many-to-many