1. 程式人生 > >postgresql 查詢結果 多行變一行

postgresql 查詢結果 多行變一行

1.SELECT a.id, a.db_name, string_agg(b.username, ',') FROM tbl_company a, tbl_user b WHERE a.id = b.company_id group by a.id

查詢欄位只能是字元型   結果用“,”隔開

2.SELECT a.id, a.db_name, array_agg(b.username) FROM tbl_company a, tbl_user b WHERE a.id = b.company_id group by a.id

查詢欄位不分型別  結果為陣列{1,2,3}或  {123,123admin}

SELECT a.id, a.db_name, array_to_string(array_agg(b.username), ',') FROM tbl_company a, tbl_user b WHERE a.id = b.company_id group by a.id 

結果是字串 123,123admin

array_agg(distinct(欄位名)) 拼接唯一的欄位