mysql - 产品表数据透视标签表获取一列中的所有标签

标签 mysql sql

我有以下查询,我希望 tag.tag 进入 1 列,并用 , 分隔

SELECT products.*
FROM products 
WHERE product.id IN ('13', '14')

product_tag table    
id
product_id 
tag_id

tags table
id
tag

期望的结果:

product.name 、product.description 、标签(标签用 , 分隔的列) .....

最佳答案

SELECT pr.name,pr.description,group_concat(tg.tags)
FROM products pr
INNER JOIN product_tag pt on pr.id=pt.product_id 
INNER JOIN tags tg on tg.id=pt.tag_id
WHERE pr.id IN ('13', '14')
group by pr.name,pr.description

尝试上面的代码。

希望这有帮助。

关于mysql - 产品表数据透视标签表获取一列中的所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44560943/

相关文章:

mysql - 从 MySQL (MariaDB) 中的存储过程返回 ROW COUNT

MySql 根据同一表中的值从表中选择某些列

sql - ORACLE SQL CAST IN CASE 语句

php - 在 MySQL 中按年和月分组

mysql - Liquibase 抛出 "SQLException: connection is closed"

sql - 巨大的时间线服务如何与数据库一起工作?

sql - 将数据库从服务器复制到本地数据库(我只需要复制结构,没有数据)

php - 为什么这个 MySQL 查询只返回 1 个结果?

java - 用于一对多关系的 JPQL

java - 具有相同名称字段的 DbUtils QueryRunner