Coba pakek analytic function:
SELECT DISTINCT part, date_trx, awal, trx_in, trx_out, akhir FROM (
SELECT part, trx_date date_trx,
FIRST_VALUE(awal) OVER (PARTITION BY part, trx_date ORDER BY doc_no) awal,
SUM(DECODE(trx_code,'I',trx_qty,0)) OVER (PARTITION BY part, trx_date)
trx_in,
SUM(DECODE(trx_code,'O',trx_qty,0)) OVER (PARTITION BY part, trx_date)
trx_out,
LAST_VALUE(akhir) OVER (PARTITION BY part, trx_date) akhir
FROM table_1)
ORDER BY date_trx, part;
hth,
AH
Jack Mania wrote:
>
> Maaf baru bales emailnya,
> Terima kasih atas responnya Mas Piping,
> Tapi cara yang Mas Piping kasih ini belum sesuai dengan yang saya
> inginkan.
>
> Untuk proses ini adalah data hasil input di tabel.
> Kolom yang ada di tabel adalah sbb:
> - PART
> - TRX_DATE
> - DOC_NO
> - TRX_CODE ('I' & 'O')
> - AWAL
> - TRX_QTY
> - AKHIR
>
> Dari contoh yang kemaren saya kirim, saya ingin mendapatkan data
> yang dikelompokkan berdasarkan PART, TRX_DATE, AWAL, TRX_QTY(I),
> TRX_QTY(O), AKHIR.
> Keterangan :
> - AWAL : Diambil dari nilai awal dari transaksi pertama
> part tsb.
> - TRX_QTY(I) : Diambil dari TRX_QTY yang TRX_CODE ='I'
> - TRX_QTY(O) : Diambil dari TRX_QTY yang TRX_CODE ='O'
> - AKHIR : Diambil dari nilai akhir dari transaksi terakhir
> part tsb.
> * Data ini untuk masing" part dalam 1 hari/trx_date.
>
> Mudah"an ilustrasi ini bisa lebih membantu Mas Piping dan Rekan"
> indo-oracle semua, saya tunggu balasannya ya...
> Terima kasih sebelumnya.
>
> Salam
> Andi
>