sql选择多行匹配的非不同值

vaqhlq81  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(277)

这个问题在这里已经有答案了

匹配in子句中的所有值(2个答案)
两年前关门了。
我有一个很多关系的连接表,看起来像这样:
图像标签:

Image_ID    |.    Tag_ID
4           |     5
4.          |     6
4           |     7
5           |     6
5           |     7

我想创建一个sql查询来选择满足多个标记id要求的图像id。例如,我想找到所有同时具有标记id 5和6的图像id,返回图像4,但不返回图像5。我该怎么办?

xqnpmsa8

xqnpmsa81#

你可以用 group by 以及 having :

select image_id
from image_tags
where tag_id in (5, 6)
group by image_id
having count(*) = 2;  -- "2" is the number of tags in the IN list

相关问题