引号什么的你自己加一下:
select m.name, listagg(u.course, ',') within
group(order by u.uid) course
from 'table-1' m, 'table-2' u
where m.a_id = u.uid
or m.b_id = u.uid
or m.c_id = u.uid
group by m.name;
这样写性能上肯定好一些,不过返回的不是3列,而是合并之后(以逗号分隔)的1列。
不知道是否符合你的要求?
一张表三个字