postgresql 拼接对应字符串

Psql 拼接对应字符串(比如一个用户对应多个角色,显示用户 和角色)

CREATE TABLE TestTitle (

  name   VARCHAR(10),

  title  VARCHAR(20)

);

INSERT INTO TestTitle VALUES ('张三', '程序员');

INSERT INTO TestTitle VALUES ('张三', '系统管理员'); 

INSERT INTO TestTitle VALUES ('李四', '项目经理'); 

 SELECT

  name,

  array_to_string(ARRAY(SELECT unnest(array_agg(title))),',') AS allTitle

FROM

  TestTitle

GROUP BY

  name;

 

 name |           alltitle

------+------------------------------

 李四 | 项目经理

 张三 | 程序员,系统管理员

 

或者

 

SELECT

  name,

  string_agg(title,',') AS allTitle

FROM

  TestTitle

GROUP BY

  name;

 

 name |           alltitle

------+------------------------------

 李四 | 项目经理 

张三 | 程序员,系统管理员(2 行记录)

 

转载于:https://my.oschina.net/wangzhaoyu/blog/681068

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值