Postingan lainnya
menggabungkan dua tabel ke satu tabel dengan field yang di tentukan
abel detail_barangmasuk dengan rincian :
- id
- detfaktur
- idsup
- detbrgkode
- detmatkode
- detsubtotal1
tabel detail_materialkeluar dengan rincian :
- id
- detfaktur
- idsup
- detmatkode
- detsubtotal2
ambil data dari kedua tabel tersebut untuk di tempatkan ke tabel data_baru dengan rincian :
- idsup
- matjenis
- beratmatkeluar
- beratmatmasuk
dengan kondisi jika field idsup dan field matjenis pada tabel data_baru sudah ada dan sama dengan field idsup dan field detmatkode di tabel lain maka update field beratmatmasuk sesuai dengan hasil jumlah detsubtotal1 dan update beratmatkeluar sesuai dengan hasil jumlah detsubtotal2
3 Jawaban:
<pre>INSERT INTO data_baru (idsup, matjenis, beratmatkeluar, beratmatmasuk) SELECT d.idsup, m.matjenis, SUM(detsubtotal2) as beratmatkeluar, SUM(detsubtotal1) as beratmatmasuk FROM detail_barangmasuk d JOIN detail_materialkeluar k ON d.detfaktur = k.detfaktur AND d.idsup = k.idsup AND d.detmatkode = k.detmatkode JOIN material m ON m.matkode = d.detmatkode GROUP BY d.idsup, m.matjenis ON DUPLICATE KEY UPDATE beratmatkeluar = VALUES(beratmatkeluar), beratmatmasuk = VALUES(beratmatmasuk);</pre><div><br>Pada query di atas, terdapat tiga tabel yang di-join yaitu tabel <strong>detail_barangmasuk</strong>, <strong>detail_materialkeluar</strong>, dan <strong>material</strong>. Tabel <strong>detail_barangmasuk</strong> dan <strong>detail_materialkeluar</strong> di-join menggunakan field <strong>detfaktur</strong>, <strong>idsup</strong>, dan <strong>detmatkode</strong>. Selanjutnya, di-join dengan tabel <strong>material</strong> menggunakan field <strong>detmatkode</strong>.<br><br></div><div>Data yang diambil adalah field <strong>idsup</strong> dan <strong>matjenis</strong> dari tabel <strong>detail_barangmasuk</strong> dan <strong>material</strong>, serta hasil jumlah <strong>detsubtotal1</strong> dan <strong>detsubtotal2</strong> dari tabel <strong>detail_barangmasuk</strong> dan <strong>detail_materialkeluar</strong>. Hasil query akan di-group berdasarkan <strong>idsup</strong> dan <strong>matjenis</strong>.<br><br></div><div>Jika terdapat data yang sudah ada pada tabel <strong>data_baru</strong> dengan <strong>idsup</strong> dan <strong>matjenis</strong> yang sama, maka data tersebut akan di-update dengan data yang baru diambil dari kedua tabel tersebut. Hal ini dilakukan menggunakan syntax <strong>ON DUPLICATE KEY UPDATE</strong> pada akhir query.</div>
<div>ini seperti jawaban yang saya dapat dari chat.openai.com</div>
Bisa menggunakan join table untuk menggabungkan data dari tabel yang berbeda