Sql 如何对来自多个记录的结果进行分组和连接?
我有一个类似这样的问题:Sql 如何对来自多个记录的结果进行分组和连接?,sql,database,oracle,Sql,Database,Oracle,我有一个类似这样的问题: select a.id, b.value from a left join b on a.name = b.name where a.id = 12345; 我得到的结果是 id value -------- 12345 value1 12345 value2 然而,我希望得到这样的结果: id value -------- 12345 value1,value2 它通过逗号将所有值按id分组 我不知道如何做到这一点。任何提示都会有帮助。您正在查找listag()
select a.id, b.value from a
left join b
on a.name = b.name
where a.id = 12345;
我得到的结果是
id value
--------
12345 value1
12345 value2
然而,我希望得到这样的结果:
id value
--------
12345 value1,value2
它通过逗号将所有值按id分组
我不知道如何做到这一点。任何提示都会有帮助。您正在查找
listag()
:
select a.id, listagg(b.value, ',') within group (order by b.value)
from a left join
b
on a.name = b.name
where a.id = 12345
group by a.id;