Update data dari tabel lain

Tuesday, October 18, 2011 8:34
Posted in category Database, General

 Pernahkan anda mengupdate data yang jumlahnya ribuan yang nilainya berbeda-beda dan data diambil dari tabel lain ataupun tabel sementara untuk menampung nilai data terakhir, contoh kasus:

Tabel Barang:

CREATE TABLE barang
( id_brg number(10) not null,
nm_brg varchar2(50) not null,
harga varchar2(50),
CONSTRAINT pk_brg PRIMARY KEY (id_brg)
);

INSERT INTO barang
(id_brg,nm_brg,harga)

VALUES
(B1, ‘ROTI’, ’3000′);

INSERT INTO barang
(id_brg,nm_brg,harga)

VALUES
(B2, ‘SIRUP’, ’7500′);

INSERT INTO barang
(id_brg,nm_brg,harga)

VALUES
(B3, ‘SELAI’, ’5000′);

INSERT INTO barang
(id_brg,nm_brg,harga)

VALUES
(B4, ‘FANTA 1L’, ’12500′);

BARANG:

ID_BRG NM_BRG HARGA
B1 ROTI 3000
B2 SIRUP 7500
B3 SELAI 5000
B4 FANTA 1L 12500

Nah dari tabel barang tersebut kita ingin mengupdate harga baru yang kita ambil dari table lain misalkan table sup_brg dengan kondisi data seperti dibawah ini:

SUP_BRG:

ID_BRG_SUP KD_SUP HARGA
B1 S01 5000
B2 S01 8500
B3 S03 5500
B5 S07 12500

Sql untuk update data dari tabel lain untuk kasus diatas adalah sebagai berikut:

UPDATE barang
SET harga = ( SELECT sup_brg.harga
FROM sup_brg
WHERE sup_brg.id_brg_sup = barang.id_brg)
WHERE EXISTS
( SELECT sup_brg.harga
FROM sup_brg
WHERE sup_brg.id_brg_sup = barang.id_brg);

Maka hasil akhirnya tabel Barang:

ID_BRG NM_BRG HARGA
B1 ROTI 5000
B2 SIRUP 8500
B3 SELAI 5500
B4 FANTA 1L 12500

Jangan lupa komentarnya??!!

Related posts:

You can leave a response, or trackback from your own site.

Leave a Reply