【发布时间】:2010-05-20 23:44:50
【问题描述】:
我有三个相关的表。
图片: 编号 |文件名 |文件大小 | ...
节点: image_id | tag_id
标签: 编号 |名字
我正在使用这个查询来搜索包含 x 标签的图像
SELECT images.* FROM images
INNER JOIN nodes ON images.id = nodes.image_id
WHERE tag_id IN (SELECT tags.id FROM tags WHERE tags.tag IN ("tag1","tag2"))
GROUP BY images.id HAVING COUNT(*)= 2
问题是我还需要检索检索到的图像所包含的所有标签,并且我需要在同一个查询中使用它。
这是搜索图像包含的所有标签的实际查询:
SELECT tag FROM nodes
JOIN tags ON nodes.tag_id = tags.id
WHERE image_id = images.id and nodes.private = images.private
ORDER BY tag
我怎样才能将这两者混合在一起只有一个查询?
我需要结果中的所有图像表以及图像的标签。喜欢: ID 文件名 文件大小 标签
如果可能的话,也许可以连接标签。
【问题讨论】:
-
您能告诉我们您希望结果集的外观吗?