从网上找了都是关于decode的方法实现的列转行,后来发现了用orcale的wmsys.wm_concat方法可以轻松的实现,下面的范例是网上找的:wmsys.wm_concat要10g以后才可以。
表结构:
1 A
1 B
1 C
2 A
2 B
3 C
3 F
4 D
转换后变成:
1 A,B,C
2 A,B
3 C,F
4 D
方法:
假设你的表结构是tb_name(id, remark),则语句如下:
SELECT
a.id,
wm_concat (a.remark) new_result
FROM
tb_name a
group by
a.id