如何在postgresql的列中为单个记录选择多个值

时间:2016-10-17 07:00:20

标签: sql postgresql string-aggregation

我有两张表有很多关系。

表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 |

有人请告诉我怎样才能生成表格 如下图所示:

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

或多列中的标签。

1 个答案:

答案 0 :(得分:0)

for 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