我有一个项目表和一个标签表。现在我想要的是让一个Select在特定条件下获取项目,并且每个项目选择相关标签并将它们放在一个字符串中以成为一个单独的字段。
示例:
table_items:
id | title
---------------------------
01 | peter
---------------------------
02 | john
---------------------------
03 | cindy
tags:
id | title
---------------------------
01 | tall
---------------------------
02 | tiny
---------------------------
03 | blone
---------------------------
04 | loud
---------------------------
05 | ...
tags_to_items:
itemid | tagid
---------------------------
01 | 02
---------------------------
01 | 04
---------------------------
02 | 01
...
我认为你明白了。
Now I want a result like this:
itemid | title | tags
---------------------------
01 | peter | tiny, loud
---------------------------
01 | john | tall, fast, bored
我可以只使用MySQL吗? 怎么样?
答案 0 :(得分:2)
在MySQL中,你需要GROUP_CONCAT
函数才能做到这一点。
类似的东西:
select ti.id, ti.title, group_concat(t.title)
from table_items ti
inner join tag_to_items tti on (ti.id = tti.itemid)
inner join tags t on (t.id = tti.tagid)
group by ti.id, ti.title