gpt4 book ai didi

mysql - 选择具有确切项目数的连接表

转载 作者:行者123 更新时间:2023-11-30 22:09:14 25 4
gpt4 key购买 nike

我有两个表

  • 轨道
  • 标签

一首歌曲有很多标签

我想要拥有同时具有两个标签示例 tag_id 1 和 tag_id 2 的轨道列表

SELECT * FROM tracks 
LEFT JOIN tags ON tracks.tag_id = tags.id
WHERE tags.id in (1,2)
GROUP BY track.id
HAVING count(tags.id) = 2

如果轨道具有标签 1 和 3 的问题,它将被列出。

有什么帮助吗?

最佳答案

添加distinct进行计数

SELECT track.id FROM tracks 
LEFT JOIN tags ON tracks.tag_id = tags.id
WHERE tags.id in (1,2)
GROUP BY track.id
HAVING count(Distinct tags.id) = 2

您可以将 LEFT JOIN 更改为 INNER JOIN,因为它是根据您的 Where 子句隐式转换的

关于mysql - 选择具有确切项目数的连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40660210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com