2017-03-24 16 views
0

次の表には2つのフィールドがあります。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; 

の取得結果を:あなたは区切り文字として値'('||colb||'),'を渡している

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

は、なぜ最初の 'コーラ完全な文字列を生成しない|| '(' || colb || ')' 'と '、'区切り文字で' string_agg'に渡すのですか? – user1516873

答えて

3

あなたが欲しい:

select string_agg(cola||'('||colb||')', ',') Result 
from str_agg; 
関連する問題