Pada pagi ini admin akan membagikan ilmu bagaimana mengupdate tabel header dari nilai yang di sum pada tabel detail.
Pada tabel transaksi jual sesuai dengan normalisasi tabel maka akan terbentuk tabel header (menyimpan informasi no faktur, kode cust, tgl, total harga, total discount, dsb) dan tabel detail (menyimpan rincian faktur mis kode barang, qty, harga per item, dsb).
Kasus yang sering di temui adalah ketika adanya salah perhitungan nilai harga pada detail maka kita bisa melakukan update data dengan perintah sql
UPDATE <tablename> SET <field>=<nilai> [WHERE <field>=<nilai>]
Setelah kita update data di detail kita pasti harus mengupdate data di header dengan total dari nilai detail, cara primitif bisa dengan menggunakan manual menuliskan perintah update diatas baris per baris yang tentunya akan memakan waktu dan resiko kesalahan pun bisa terjadi.
Tapi anda tenang saja karena dengan perintah SQL kita bisa langsung menupdateny, berikut query sqlny:
Cth:
TRN_JUAL_HDR (tabel header)
NO_TRAN | TOTAL_HARGA
TRN_JUAL_DTL (tabel detail)
NO TRAN | AMT_HARGA
Untuk database SQL SERVER
Untuk database MySql
Selamat mencoba.
UPDATE O
SET O.TOTAL_HARGA = I.HRG
FROM TRN_JUAL_HDR O
INNER JOIN
(
SELECT NO_TRAN, SUM(AMT_HARGA) AS HRG
FROM TRN_JUAL_DTL
GROUP BY NO_TRAN
) I ON O.NO_TRAN = I.NO_TRAN
[WHERE (conditon)]
Untuk database MySql
UPDATE TRN_JUAL_HDR o
INNER JOIN
(
SELECT NO_TRAN, SUM(AMT_HARGA) AS HRG
FROM TRN_JUAL_DTL
GROUP BY NO_TRAN
) i ON o.NO_TRAN = i.NO_TRAN
SET O.TOTAL_HARGA = I.HRG
[WHERE (conditon)]
Selamat mencoba.
0 comments:
Post a Comment