oracle wm_concat函数将多行转字段函数

oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oracle wm_concat(column)函数实现字段合并,如果您对oracle wm_concat(column)函数使用方面感兴趣的话,不妨一看。
shopping:


u_id goods num

1 苹果 2

2 梨子 5

1 西瓜 4

3 葡萄 1

3 香蕉 1

1 橘子 3

=======================
想要的结果为:

u_id goods_sum


1 苹果,西瓜,橘子
2 梨子
3 葡萄,香蕉

select u_id, wmsys.wm_concat(goods) goods_sum
from shopping
group by u_id

想要的结果2:


u_id goods_sum


1 苹果(2斤),西瓜(4斤),橘子(3斤)
2 梨子(5斤)
3 葡萄(1斤),香蕉(1斤)

使用oracle wm_concat(column)函数实现:
select u_id, wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum
from shopping
group by u_id


oracle 多行结果集合并成为一行
今天做数据统计工作遇到这个问题,当一个查询返回结果是多行时,不能直接进行更新操作,需要将结果集合并,找了半天,终于豁然开朗……

如果是oracle 10g以上 一个wm_concat函数就可以解决。

如果是oracle 9i以下就有点麻烦了。

posted @ 2021-09-26 19:55  yclizq  阅读(317)  评论(0编辑  收藏  举报