PostgreSql 合并多行记录

时间:2022-08-13 10:26:43

需求描述:

A表有如下数据

id
1
2
3
4

B表有如下数据

id name
1 aaa
1 bbb
1 ccc
2 aa
2 bb
3 c

 

A表和B表通过id关联,需要查询结果如下:

id name
1 aaa,bbb,ccc
2 aa,bb
3 c
4  


查询语句如下:

[sql]  view plaincopy
        1. SELECT a.id,array_to_string(array(    
        2.    SELECT b.name  FROM  db_xx."B" b  WHERE b.id=a.id     
        3.  ), ',') as name  
        4. from db_xx."A" a  
        5. order by a.id