Introduction

Dear all , Thank You for coming to my blogspot



Apr 22, 2014

cara merangkai data multi row dalam 1 kolom menggunakan ORACLE

Aku pernah dapat tugas merangkai data dalam beberapa row dari suatu kolom menjadi 1 set data kolom dalam sebuah row. Contohnya seperti ini

Account    Amount

  123            1000
  123            2000
  123            3000
  124            4000
  124            6000

menjadi 

Account    Amount

 123           1000,2000,3000
 124           4000,6000

untuk menyelesaikan challenge ini aku akan kasih 2 solusi, sbb :

solusi 1 :
=======

select Account, rtrim(xmlagg (xmlelement (X, Amount || ',')).extract ('//text()') Amount
from namatable where rownum <800 Group By Account

solusi 2 :
========
select Account,wm_concat(Amount) as Amount from namatable where Amount <3000 Group By Account
Note :


Bila kita memanipulasi data begitu besar, maka akan mengakibatkan akumulasi panjang data yang begitu besar, oleh karena itu cara ini tentu ada keterbatasan, maka perlu membatasi panjang datanya dengan menggunakan rownum diatas.


Semoga bermanfaat

No comments :

About Me

I am a Man