Merubah Find Unmatched Records Menjadi Find Delete Unmatched Records

Posted by

Langsung aja Olah TKP, buat yang mempunyai kasus serupa.

Sql Find Unmatched "menggunakan relasi antar tabel" :

SELECT * FROM DetailPenjualan
LEFT OUTER JOIN Penjualan
ON DetailPenjualan.nota=Penjualan.nota WHERE Penjualan.nota IS null
 ketika Sql diatas ingin kita rubah menjadi fungsi penghapusan data maka sintax Sqlnya seperti berikut :
DELETE FROM DetailPenjualan
LEFT OUTER JOIN Penjualan
ON DetailPenjualan.nota=Penjualan.nota WHERE Penjualan.nota IS null
dan jika di exekusi maka akan terjadi eror Sql sintaxnya, karena ada fungsi relasi "LEFT OUTER JOIN".

SOLUSI
Jika ingin menghapus data dengan sintax Sql Find Unmatched maka gunakan sintax berikut ini :
SELECT  * FROM  DetailPenjualan
WHERE  DetalinPenjualan.nota NOT IN (SELECT Penjualan.nota FROM Penjualan)
 dengan sintax Sql diatas jika ingin digunakan untuk penghapusan maka tinggal kita ubah menjad:
DELETE FROM  DetailPenjualan
WHERE  DetalinPenjualan.nota NOT IN (SELECT Penjualan.nota FROM Penjualan)
dan jika di exekusi InsyaAllah berhasil, Alhamdu....lillah.

Terimakasih atas kunjungannya, write for you next time.


FOLLOW and JOIN to Get Update!

Social Media Widget SM Widgets




Demo Blog NJW V2 Updated at: 8:03 PM