给个例子。wm_concat 函数。
with tableA as
(
select 1 aid,'小明' code from dual union all
select 2 aid,'小红' code from dual union all
select 3 aid,'小忆' code from dual
),tableB as
(
select 1 bid,1 aid,'数学' km,100 fs from dual union all
select 2 bid,1 aid,'语文' km,99 fs from dual union all
select 3 bid,1 aid,'英语' km,88 fs from dual union all
select 4 bid,2 aid,'数学' km,77 fs from dual union all
select 5 bid,2 aid,'语文' km,66 fs from dual union all
select 6 bid,2 aid,'英语' km,55 fs from dual
),tableC as
(
select 1 cid,1 aid,'补数学课' bk,5 c from dual union all
select 2 cid,1 aid,'补语文' bk,5 c from dual union all
select 3 cid,1 aid,'补英语' bk,3 c from dual union all
select 4 cid,2 aid,'补数学课' bk,1 c from dual union all
select 5 cid,2 aid,'补语文' bk,2 c from dual union all
select 6 cid,2 aid,'补英语' bk,5 c from dual
)
SELECT tableA.aid,tableA.code,wm_concat(tableB.km||'('||tableB.fs||'),'||tableC.bk||'('||tableC.c||')') from tableA,tableB,tableC WHERE tableA.aid=tableB.aid
AND tableA.aid=tableC.aid AND tableB.bid=tableC.cid GROUP BY tableA.aid,tableA.code