Cara untuk UPDATE DATA sesuai dengan field tertentu pada MySQL

Selamat siang pembaca,
Beberapa bulan yang lalu saya pernah mengalami permasalahan dengan Query, yaitu Query Update Data berdasarkan field tertentu, mungkin pembaca disini pernah mengalami permasalahan hal yang sama, permasalahan yang saya alami akhirnya terpecahkan berkat bantuan dari salah satu member di Group PHP Indonesia,
Ok langsung saja ke permasalahan saya kemarin, anda bisa melihat gambar dibawah ini :

Dari gambar diatas saya rasa sudah cukup jelas untuk permasalahannya yaitu update field kategori di tabel barang sesuai dengan field kategori di tabel transaksi.Untuk mempratekkan permasalahan diatas kita buat dulu tabel dan fieldnya sesuai gambar diatas :

SQL membuat tabel barang dengan nama tabel "tblbarang"

CREATE TABLE tblbarang(
idbarang CHAR(4),
namabarang VARCHAR(15),
kategori VARCHAR(10) DEFAULT 'OUTGOING',
status VARCHAR(5) DEFAULT 'TRUE'
);


SQL Mengisi data pada tblbarang 

INSERT INTO tblbarang(idbarang,namabarang)
VALUES
('M001','LAMPU'),
('M002','KACA'),
('M003','STOP KONTAK'),
('M007','KABEL'),
('M008','KONEKTOR');


Kita coba cek / tampilkan data di tblbarang dengan SQL SELECT

SELECT * FROM tblbarang;
+----------+-------------+----------+--------+
| idbarang | namabarang | kategori | status |
+----------+-------------+----------+--------+
| M001 | LAMPU | OUTGOING | TRUE |
| M002 | KACA | OUTGOING | TRUE |
| M003 | STOP KONTAK | OUTGOING | TRUE |
| M007 | KABEL | OUTGOING | TRUE |
| M008 | KONEKTOR | OUTGOING | TRUE |
+----------+-------------+----------+--------+


 Selanjutnya kita buat tabel transaksi dengan nama tabel "tbltransaksi"

CREATE TABLE tbltransaksi(
notransaksi INT,
idbarang CHAR(4),
kategori VARCHAR(10) DEFAULT 'INCOMING',
status VARCHAR(5) DEFAULT 'TRUE'
);



Kita coba isi tabel transaksinya

INSERT INTO tbltransaksi(notransaksi,idbarang,kategori)
VALUES
(1605001,'M001','INCOMING'),
(1605001,'M002','INCOMING'),
(1605001,'M003','SISA'),
(1605002,'M007','SISA'),
(1605002,'M008','INCOMING');


Kita coba cek / tampilkan data di tblbarang dengan SQL SELECT

SELECT * FROM tbltransaksi;  
 +-------------+----------+----------+--------+
| notransaksi | idbarang | kategori | status |
+-------------+----------+----------+--------+
| 1605001 | M001 | INCOMING | TRUE |
| 1605001 | M002 | INCOMING | TRUE |
| 1605001 | M003 | SISA | TRUE |
| 1605002 | M007 | SISA | TRUE |
| 1605002 | M008 | INCOMING | TRUE |
+-------------+----------+----------+--------+


 Terakhir adalah Query proses Update Datanya ;

UPDATE tblbarang a
JOIN tbltransaksi b USING(idbarang)
SET a.kategori=b.kategori;


 Sekarang kita cek hasil update nya pada tabel barang

SELECT * FROM tblbarang;
+----------+-------------+----------+--------+
| idbarang | namabarang | kategori | status |
+----------+-------------+----------+--------+
| M001 | LAMPU | INCOMING | TRUE |
| M002 | KACA | INCOMING | TRUE |
| M003 | STOP KONTAK | SISA | TRUE |
| M007 | KABEL | SISA | TRUE |
| M008 | KONEKTOR | INCOMING | TRUE |
+----------+-------------+----------+--------+


Anda bisa lihat hasilnya, pada field kategori di tabel barang berubah sesuai dengan field kategori di tabel transaksi. Oke cukup sekian dulu, semoga tulisan ini bisa membantu anda, jika ada permasalahan seperti kasus saya.

Terima Kasih

















0 Response to "Cara untuk UPDATE DATA sesuai dengan field tertentu pada MySQL"

Post a Comment