我有一个用于很多关系的连接表,看起来像这样:
图片标签:
Image_ID |. Tag_ID
4 | 5
4. | 6
4 | 7
5 | 6
5 | 7
我想创建一个SQL查询来选择满足多个Tag_ID要求的Image_ID。例如,我要查找所有同时具有Tag_ID 5和6的Image_ID,返回图像4但不返回图像5。
答案 0 :(得分:2)
您可以使用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