我在postgres数据库中有2个表,其中包含以下记录 - :
TableA
======
ID DESC TEAM STATUS
254 NSW emp Sales A
365 NSW,VIC emp Sales L
2345 NSW emp Post Sales A
...........
.....
TableB
======
ID STATE
254 NSW
365 NSW
365 VIC
365 QLD
2345 NT
2345 NSW
...........
我想从2个表中为每个唯一ID选择ID, DESC, STATUS and STATE
,并按以下格式捕获输出。
ID DESC STATUS STATE
254 NSW emp A NSW
365 NSW,VIC emp L NSW,VIC,QLD
2345 NSW emp A NT,NSW
.........
尝试将SELECT语句与JOIN / INTERSECT和SELECT ARRAY一起使用(....... 这失败了“每个INTERSECT查询必须具有相同的列数”
任何想法都会受到赞赏吗?
答案 0 :(得分:0)
SELECT TABLEA.ID,
DESCR,
TEAM,
STATUS,
array_agg(STATE)
FROM TABLEA
inner join TABLEB
ON TABLEA.ID = TABLEB.ID
GROUP BY TABLEA.ID,DESCR,TEAM,STATUS