Hui panjang bener yak judulnya hehehe… Habis kagak nemu judul yg lebih singkat gitu. Biar aq ato temen-temen yg lain mudah buat carinya.
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















O… gitu tho…?!
Thx tips-nya.
thanx kunjungannya pak eshabe… salam BBC aja deh
itu jeroan apa mbae?…
kug kayaknya saya kenal yah
itu jeroan sapi mase. hmmm maknyus dibikin soto
dipermudah aja non..
select a.1, b.2 from a, b where a.1=b.1 and a.2=b.2;
— mungkin gitu juga bisa. coba aja bandingkan.
@mas saman : beda atuh mas, klo cara mas saman itu kan reguler join atau sama dengan select a.1, b.2 from a, b join a on a.1=b=1 and a.2=b.2 . maka keluarnya di query data yg bener2 sama antara a.1=b.1, a.2=b.2, sedangkan data yg null gak akan ditampilkan. nah untuk kasus aq ini aq mau menampilkan semua data meskipun di tabel b tuh null. dan left outer join berarti tabel sebelah kiri harus ditampilkan meskipun tabel sebelah kanan isinya null atau kosong. untuk kasusku aq mau menampilkan data peminjaman buku dari tabel detail transaksi dan detail kembali, data akan ditampilkan meskipun buku belum kembali yg artinya di tabel detail kembali isinya null. kalau pake cara mas saman maka data yg ditampilkan hanya data dimana dua2 tabel ada isinya. artinya data gak akan tampil jika buku belum dikembalikan.. itu mas bedanya reguler join sama outer join. btw thanx ya commentnya…
pagi Non,…
Mohon petunjuknya untuk program pascal berikut ini:
1) tulislah program yg dapat mengalikan dua bilangan bulat panjang di mana jumplah digit maksimum untuk masing masing bilangan adalah 100.
Masukan dari program ini adalah string, yaitu dua bilangan yang akan dikalikan.
keluaran dari program ini adalah string hasil perkalian dua ‘bilangan’ di atas
petunjuk: gunakan larik karakter untuk menyimpan bilangan bulat, jangan menggunakan string. hal ini karena hasil perkalian 100 digit angka dengan 100 digit angkamungkin menghasilkan 10.000 digit angka!
Yaaaccchhh..
Pokok bahasan nya SQL..malah nanya pascal…; (piszz Bro) :p
btw thanx mbak e.. buat info bout left outer nya
@ Tono Batam : ho’o neh mas, lagi bahas mysql. kapan ya kalau bahas pascal. hmmm nunggu kuliah dulu kali baru aq belajar pascal. hehehe just kidding
@ Ndie : sama2.. semoga bermanfaat