Disini saya mendapatkan kasus seperti di bawah ini: saya mempunyai table : Pegawai
tgl | id_pegawai | nilai |
1
|
100
|
8
|
2
|
111
|
10
|
3
|
200
|
3
|
4
|
222
|
4
|
1
|
111
|
5
|
2
|
200
|
3
|
3
|
100
|
4
|
4
|
222
|
5
|
Saya ingin melihat nilai dari tgl yang tersedia, bagaimana
Query nya???
Jika memakai MySQL syntax nya seperti ini:
select a.tgl, sum( IF((a.id_pegawai = '100'), CAST( a.nilai as UNSIGNED), null) ) as pgw100 , sum( IF((a.id_pegawai = '111'), CAST( a.nilai as UNSIGNED), null) ) as pgw111 , sum( IF((a.id_pegawai = '200'), CAST( a.nilai as UNSIGNED), null) ) as pgw200 , sum( IF((a.id_pegawai = '222'), CAST( a.nilai as UNSIGNED), null) ) as pgw222 from( select * from pegawai ) a group by a.tgl
untuk Query di Oracle:
select tgl, sum(decode(id_pegawai,100,nilai,0)) as pgw100,sum(decode(id_pegawai,111,nilai,0)) as pgw111,sum(decode(id_pegawai,200,nilai,0)) as pgw200,sum(decode(id_pegawai,222,nilai,0)) as pgw222 from( select * from pegawai ) group by tgl
Hasil dari syntax diatas adalah seperti ini:
Diatas terlihat seperti pivot di Excel dengan record id_pegawai, saya jadikan nama kolom. Pegawai dengan id_pegawai : 222 telah terjumlahkan nilainya menurut tgl yang tersedia.
tgl | pgw100 | pgw111 | pgw200 | pgw222 |
1
|
8
|
5
|
0
|
0
|
2
|
0
|
10
|
3
|
0
|
3
|
4
|
0
|
3
|
0
|
4
|
0
|
0
|
0
|
9
|
Diatas terlihat seperti pivot di Excel dengan record id_pegawai, saya jadikan nama kolom. Pegawai dengan id_pegawai : 222 telah terjumlahkan nilainya menurut tgl yang tersedia.
Selamat Berkreasi kawan
Tidak ada komentar:
Posting Komentar