[英]Get multiple rows as comma separated string column AND map values to temp table from junction table
[英]Get multiple column values from joined table in a comma separated list
我有 3 個表,其中包含如下行:
RESEARCH_REPORTS表:
REPORT_ID TOPIC
141 My Report Topic Title
142 Another Report Topic Title
143 Yet Another Report Topic Title
...
PROGRAM_AREAS_REPORTS_REL表:
REPORT_ID PROGRAM_AREA_ID
141 6
141 11
141 12
...
PROGRAM_AREAS表:
PROGRAM_AREA_ID TITLE
6 Program Area One
11 Program Area Two
12 Program Area Three
...
此查詢目前正在向我返回下面的結果:
SELECT rr.report_id, rr.topic, pa.title as program_areas
FROM RESEARCH_REPORTS rr
INNER JOIN PROGRAM_AREAS_REPORTS_REL parr ON rr.report_id = parr.report_id
INNER JOIN PROGRAM_AREAS pa ON parr.program_area_id = pa.program_area_id
WHERE rr.report_id = 141
查詢結果:
report_id topic program_areas
141 My Report Topic Title Program Area One
141 My Report Topic Title Program Area Two
141 My Report Topic Title Program Area Three
我需要一個 select 查詢,其結果如下:
首選查詢結果:
report_id topic program_areas
141 My Report Topic Title Program Area One, Program Area Two, Program Area Three
如何在當前查詢中完成此操作?
使用string_agg()
function:-
SELECT rr.report_id, rr.topic, string_agg(pa.title,',') as program_areas
FROM RESEARCH_REPORTS rr
INNER JOIN PROGRAM_AREAS_REPORTS_REL parr ON rr.report_id = parr.report_id
INNER JOIN PROGRAM_AREAS pa ON parr.program_area_id = pa.program_area_id
WHERE rr.report_id = 141
group by rr.report_id, rr.topic
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.