2012-07-16 53 views
1

我有2個表:如何將一列中的值組合到一行中?

表1(讓它成爲'產品'):

---------------- 
| id | product | 
---------------- 
| 1 | Apple | 
| 2 | Grape | 
| 3 | Orange | 

表2(讓它成爲'標籤'):

------------------------------ 
| id | product_id | tag | 
------------------------------ 
| 1 |  1  | tag1 | 
| 2 |  1  | tag2 | 
| 3 |  2  | tag2 | 
| 4 |  2  | tag3 | 
| 5 |  3  | tag4 | 

我想向請求一個SQLite數據庫,它將生成如下結果表:

--------------------------- 
| product | tags | 
--------------------------- 
| Apple | tag1, tag2 | 
| Grape | tag2, tag3 | 
| Orange | tag4 | 

我該如何做到這一點?如何僅使用SQLite查詢語言將標記組合到一列中?

回答

1

我認爲你在尋找什麼是 「分組依據」 和 「GROUP_CONCAT()」:

select products.product,group_concat(tags.tag) from products join tags on tags.product_id = products.rowid group by tags.product_id; 
相關問題