2016-10-17 53 views
-2

我有兩個包含多對多關係的表。如何在postgresql的列中爲單個記錄選擇多個值

表1:

Code | Product | 
------------+----------+ 
00001  | product1 | 
00002  | product2 | 

表2:

Tag_id | name | 
-------+-------- 
1  | tag1 | 
2  | tag2 | 

相關表:

Tag_id | Product_id 
--------+----------+ 
1  | product1 | 
1  | product2 | 
1  | product3 | 
2  | product4 | 
3  | product4 | 
4  | product4 | 

有人請告訴我,我怎麼能genrate表 像下面顯示:

Code  | Product | Tags 
------------+----------+--------------- 
00001  | product1 | tag1,tag2 
00002  | product2 | tag1,tag3,tag4 

或多列標籤。

+0

其更好地在結果表中獲取記錄每個標籤的ID分別。 –

+0

我也想要它,所以請告訴我我該怎麼做? –

+1

你真的在使用哪個dbms?不要標籤產品不涉及... – jarlh

回答

0

爲MySQL
試試這個

select Code,Product,Group_concat(name) from table1 
left join associatedTable on table1.product=associatedTable.product_id 
left join table2 on table2.tag_id=associatedTable.tag_id 
+0

這是哪個dbms? – jarlh

+0

PostgreSQL沒有'group_concat'函數,並且OP在註釋中指出他們正在使用PostgreSQL。 – jpmc26

相關問題