Ow iya, ini tulisan aq tentang gimana bikin LEFT OUTER JOIN dari dua tabel tapi dengan beberapa kondisi yang berbeda, seperti contohnya kita mau ambil data dari dua tabel yang memiliki id dan judul sama misalnya. Sebagai studi kasus aq, tadi aq mau ambil data dari database DetailTransaksi dan DetailKembali yang memiliki kesamaan TransaksiId dan BukuId.
Awalnya aq pakai statement seperti ini :
SELECT DetailTransaksiId, MasterBuku.JudulBuku, TanggalKembali FROM DetailTransaksi LEFT OUTER JOIN MasterBuku ON MasterBuku.BukuId = DetailTransaksi.BukuId LEFT OUTER JOIN Kembali ON Kembali.BukuId = DetailTransaksi.BukuId LEFT OUTER JOIN Kembali ON Kembali.TransaksiId = DetailTransaksi.TransaksiId WHERE (DetailTransaksi.TransaksiId = 2);
ato gampangnya kayak gini :
SELECT a.1, b.2 FROM b LEFT OUTER JOIN a on b.1=a.1 LEFT OUTER JOIN a on b.2=a.2;
tapi malah keluar error Not unique table/alias: 'a'
So, yang bener gimana? Kayak gini nih yang bener :
SELECT DetailTransaksiId, MasterBuku.JudulBuku, TanggalKembali FROM DetailTransaksi LEFT OUTER JOIN MasterBuku ON MasterBuku.BukuId = DetailTransaksi.BukuId LEFT OUTER JOIN Kembali ON Kembali.TransaksiId = DetailTransaksi.TransaksiId AND Kembali.BukuId = DetailTransaksi.BukuId WHERE (DetailTransaksi.TransaksiId = 2);
ato gampangnya kayak gini :
SELECT a.1, b.2 FROM b LEFT OUTER JOIN a on b.1=a.1 AND b.2=a.2;
Dan ketemu deh :D
Sumber Gambar :Labels: Pemrograman
Responses
0 Respones to "LEFT OUTER JOIN dua tabel dengan lebih dari satu kondisi"
Post a Comment