多行字段 变成一行显示结果(oracle)

问题:

假设 我有一张表,内容如下:

p_sn     mo_sn      kp_sn
11         888          K001
11         888          K002
11         888          K003
22         888          K011
22         888          K012
22         888          K013
33         888          KKK1
33         888          KKK2
66         888          22XX
66         888          23X2
.....



我怎么写查询语句,才能得到如下的查询结果?

11    888   K001    K002    K003
22    888   K011    K012    K013
33    888   KKK1    KKK2
66    888   22XX    23X2

解决方案:

select p_sn,mo_sn,wmsys.wm_concat(kp_sn) 
from 表 
where mo_number='1601022' group by serial_number;

结果:
p_sn   mo_sn         kp_sn
11       888         K001,K002,K003
22       888         K011,K012,K013
33       888         KKK1,KKK2
66       888         22XX,23X2

猜你喜欢

转载自wuhao1014yi.iteye.com/blog/1667977