【问题标题】:Mysql execute pivot table queryMysql执行数据透视表查询
【发布时间】:2020-11-03 22:49:19
【问题描述】:

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

我有一个名为 products,tags,product_tags 的表。我想检索所有已搜索标签的产品标签

例如,如果我搜索Mi tag,那么它应该返回带有标签Mi Tag的产品中的所有标签

【问题讨论】:

  • 到目前为止您尝试过什么?你堆在哪里?
  • @Iria.please 参考 sqlfiddle.i 已经写了查询,但它只会返回一个标签。而不是其他标签形式的产品

标签: mysql sql join mysql-workbench distinct


【解决方案1】:

您可以使用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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    相关资源
    最近更新 更多