2011-07-21 60 views
1

我有一個項目表和標籤表。現在我想要的是有一個Select在一定條件下獲取Items,並且每個項目選擇相關標籤並將它們放入一個字符串中以成爲一個單獨的字段。選擇相關的元素屬性作爲字符串

例子:

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嗎? 如何?

+1

外觀上GROUP_CONCAT功能,http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat –

回答

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 
+0

啊,剛發現我自己,但非常感謝! –