2017-03-24 38 views
0

我有兩個字段的下表。PostgreSQL 9.5:逗號分隔的字符串使用string_agg()

表:

CREATE TABLE str_agg 
(
cola varchar(50), 
colb varchar(50) 
); 

記錄:

insert into str_agg values('Alex','Student'); 
insert into str_agg values('Mak','Student'); 
insert into str_agg values('John','Teacher'); 
insert into str_agg values('Tony','Teacher'); 

我想要顯示的結果在逗號分隔的格式等,如下所示:

預期結果:

result 
--------------------------------------------------------- 
Alex(Student),Mak(Student),John(Teacher),Tony(Teacher) 

我嘗試

select string_agg(cola,'('||colb||'),') Result 
from str_agg; 

獲得結果:

result 
--------------------------------------------------------- 
Alex(Student),Mak(Teacher),John(Teacher),Tony 
+2

爲什麼不產生滿弦的第一'可樂|| '('|| colb ||')''並且用','分隔符將它傳遞給'string_agg'? – user1516873

回答

3

您傳遞值'('||colb||'),'作爲分隔符。

你想:

select string_agg(cola||'('||colb||')', ',') Result 
from str_agg;