一尘不染

获取“ eled标签”的查询是什么?

sql

我有3张表:

links (id, linkName)  
tags (id, tagName)  
tagsBridge (tagID, linkID)

我正在尝试支持显示类似SOF中的相关标签。因此,如果您单击标签“ XYZ”,那么现在我将显示所有带有标签“
XYZ”的链接,但我也想显示所有其他标签的唯一列表,这些其他标签是人们为这些项目添加的,而这些项目也已为“ XYZ”添加了标签

什么是最快的查询方式


阅读 131

收藏
2021-03-17

共1个答案

一尘不染

尝试:

  SELECT t.tagname
    FROM TAGS t
    JOIN TAGS_BRIDGE tb ON tb.tagid = t.id
    JOIN (SELECT li.id
            FROM LINKS li
            JOIN TAGS_BRIDGE tb ON tb.linkid = li.id
            JOIN TAGS t ON t.id = tb.tagid
           WHERE t.tagname = 'XYZ') x ON x.id = tb.linkid
GROUP BY t.tagname
2021-03-17