从网上找了都是关于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
本文介绍了一种使用Oracle的WM_CONCAT函数轻松实现数据列转行的方法,适用于10g及以上版本。通过具体示例展示了如何将多列数据转换为一行,适用于tb_name(id,remark)表结构,通过GROUP BY和WM_CONCAT函数实现数据聚合。

被折叠的 条评论
为什么被折叠?



