【发布时间】:2017-05-31 19:59:22
【问题描述】:
我有 3 个表用于存储图像、标签和两者之间的链接。结构是这样的:
表格 - 照片
pid name
--------------
1 image1
2 image2
3 image3
4 image4
表格 - 标签
tagID tagName
---------------
1 red
2 blue
3 yellow
4 green
表格 - photo_tag_bridge
pid tagID
-------------
1 1
2 1
3 1
1 2
1 3
我想创建一个 SELECT 语句以仅从“照片”中检索与多个“标签 ID”匹配的行。我目前正在尝试将 image1 带回来,因为它与 tagID 1 和 2 匹配
SELECT photos.pid
, photo_tag_bridge.pid, photo_tag_bridge.tagID
, tags.tagID
FROM photos
, photo_tag_bridge
, tags
where photos.pid = photo_tag_bridge.pid
AND photo_tag_bridge.tagID = 1
AND photo_tag_bridge.tagID = 2
GROUP BY photos.pid
这并没有带来任何回报,看来我可能需要使用 INNER JOIN?
【问题讨论】:
-
select x.* from x where n in ('a','b') group by x.i with count (distinct n) =2... 或类似的东西