SQL select table 包含多对多关系中的多个属性

SQL select table that contains multiple attributes in a many to many relationship

这是我的ER-Model ER-Model 具有多对多关系

我想要 select 所有具有多个标签的播放列表。例如 select 所有具有标题为“Category-1”、“Category-2”和“Category-3”的播放列表。我的目标是获取具有标签列表的播放列表,不仅包含其中一个标签,还包含所有标签。

感谢您的帮助!

像这样的东西会找到所有包含您提到的所有三个标签的播放列表,可能还有更多标签。

为此,playlist_id 和 label_id 必须是主键(或唯一键)。

SELECT playlist.*
  FROM playlist
  JOIN playlist_label ON playlist.playlist_id = playlist_label.playlist_id
  JOIN label ON playlist_label.label_id = label.label_id
 WHERE label.title IN ('Category-1, 'Category-2', 'Category-3')
 GROUP BY playlist.playlist_id
HAVING COUNT(*) = 3

我在猜测您的 ER 工具将您的逻辑模型转换为物理模型的方式。