Sql 在Oracle 10g中,如何根据指定列将n条记录合并为一条记录? 表:

Sql 在Oracle 10g中,如何根据指定列将n条记录合并为一条记录? 表:,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,第3列为订单 我想得到这个: A |A1,A3,A2 B |B2,B1 如有任何意见或建议,将不胜感激。 谢谢 纯SQL脚本,谢谢 更新 下面我的答案是针对Oracle 11的,但Oracle 10g中有一个错误: ORA-00923: FROM keyword not found where expected 对于Oracle 10g,解决方案是什么? 谢谢。对于Oracle 11,请使用以下命令: select col_1 , listagg(col_2, ', ')

第3列为订单

我想得到这个:

A   |A1,A3,A2
B   |B2,B1
如有任何意见或建议,将不胜感激。 谢谢

纯SQL脚本,谢谢

更新 下面我的答案是针对Oracle 11的,但Oracle 10g中有一个错误:

ORA-00923: FROM keyword not found where expected
对于Oracle 10g,解决方案是什么?
谢谢。

对于Oracle 11,请使用以下命令:

select col_1
     , listagg(col_2, ', ') within group (order by col_3) as col_new
from tbl_tmp
group by col_1;
select col_1
     , listagg(col_2, ', ') within group (order by col_3) as col_new
from tbl_tmp
group by col_1;