我在Mysql中有3个表:
带有列| ID | Name |,
的产品也带有列 | ID |名称|第三个是
ProductTagsRelations与 | ID | prodID | tagID |。
这第三行包含带有产品ID的行以及它们链接到的每个标签。
我可以从Products表中获取所有数据,并在单个查询中以单个字符串之类的方式从Tags表中获取与每个标签相关的每个标签吗?
答案 0 :(得分:1)
您可以通过加入表格并按产品分组来实现:
select
p.id, p.name,
group_concat(t.name order by t.name) tags
from Products p
left join ProductTagsRelations r on r.prodid = p.id
left join Tags t on t.id = r.tagid
group by p.id, p.name
使用group_concat()
,您可以获得每个产品的标签列表。
请参见demo。