Mysql 执行 pivot table 查询

Mysql execute pivot table query

我创建了sqlfiddle http://sqlfiddle.com/#!9/0586e8/1

我有 table 个调用的产品标签,product_tags.I 想检索所有搜索过标签的产品标签

例如,如果我搜索 Mi tag,那么它应该 return 具有标签 Mi Tag

的产品的所有标签

您可以使用 exists 找到匹配项:

SELECT DISTINCT t.tag_name
FROM product_tags pt JOIN
     tags t
     ON pt.tag_id = t.id 
WHERE EXISTS (SELECT 1
              FROM product_tags pt2 JOIN
                   tags t2
                   ON pt2.tag_id = t2.id
              WHERE pt2.product_id = pt.product_id AND
                    t2.tag_name = 'Mi'
             );

这就是说:获取所有标签,其中相应产品的标签为“MI”。

Here 是 SQL Fiddle.