PLSQL 2
PLSQL 2
pembahasan kali ini dengan function SUM , COALESCE
CREATE TABLE payment ( id serial NOT NULL, nim CHAR(11) NOT NULL, amount numeric NOT NULL, fee numeric , payrefnumber char(12) PRIMARY KEY NOT NULL, note varchar(50) );
INSERT INTO payment VALUES (nextval('payment_id_seq'), '1912425748', 1000.10, NULL, '1234560','Payment test 1');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1812498127, 2000.00, 0, 1234561, 'Payment test 2');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1912426769,6000.20, 100.00, 1234562, 'Payment test 3');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1921424887,7000.00, 200.00, 1234563, 'Payment test 4');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1921422695, 1030.00, 0, 1234564, 'Payment test 5');
INSERT INTO payment VALUES (nextval('payment_id_seq'), '1912425748', 100.10, NULL, '1234565','Payment test 6');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1812498127, 200.00, 0, 1234566, 'Payment test 3');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1912426769,600.20, 100.00, 1234567, 'Payment test 4');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1921424887,700.00, 200.00, 1234568, 'Payment test 5');
INSERT INTO payment VALUES (nextval('payment_id_seq'), 1921422695, 100.00, 0, 1234569, 'Payment test 6');
Menampilkan data payment dengan nim "1921422695"

Menampilkan total dengan function SUM

Menampilkan data payment dengan nim = "1912425748" , dengan value dari fee nya ada null

melakukan sum fee menghasilkan total yang null

bagaimana caranya agar tidak menampilkan null pada saat di sum ?
dengan menggunakan “COALESCE” . Dengan Coallesce jika value yang di kembalikan null maka menampilkan parameter berikutnya . Lihat contoh dibawah ini :

Menampilkan sum dengan menggunakan group by karena ingin menampilkan data nim dan total transaksi:

Menampillkan sum menjadi total , di group berdasarkan nim dan hanya dengan total yang lebih besar dari 2200 saja yang di tamplkan


IKetut Gunawan
