Mysql执行数据透视表查询
Posted
技术标签:
【中文标题】Mysql执行数据透视表查询【英文标题】:Mysql execute pivot table query 【发布时间】: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 已经写了查询,但它只会返回一个标签。而不是其他标签形式的产品 【参考方案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。
【讨论】:
以上是关于Mysql执行数据透视表查询的主要内容,如果未能解决你的问题,请参考以下文章
使用 access 和 mysql 时,有没有办法查看哪些查询用于生成数据透视表? [复制]