Sabtu, 21 Juli 2012

Update Data Suatu Tabel Bersumber Dari Tabel Lain Dengan Query SQL

Misalkan Anda memiliki sebuah tabel A dalam suatu database. Akan tetapi ada suatu field dari tabel A tersebut yang belum lengkap datanya. Akan tetapi, ada sebuah tabel lain, misalkan B dalam database yang sama, ternyata memiliki data yang lebih lengkap. Nah… dari kondisi ini, bagaimana caranya melengkapi data dari tabel A tersebut bersumber dari tabel B?
Dulu, untuk kasus seperti di atas, saya biasa menggunakan script untuk proses update datanya. Selanjutnya script tersebut saya jalankan, dan proses update data selesai. Namun, hal ini terasa repot karena kita harus membuat scriptnya terlebih dahulu. Kini, saya tidak perlu repot lagi untuk melakukan hal tersebut karena ternyata proses update data tabel yang datanya bersumber dari tabel lain ini bisa langsung dilakukan via query SQL.
Untuk memudahkan penjelasan, saya contohkan dua buah tabel sbb:
Tabel ‘mhs’
Tabel 'mhs'
Tabel ‘dummy’
Tabel 'dummy'
Dalam tabel ‘mhs’ di atas, ada sebuah field ‘tgllhr’ yang masih kosong. Tugas kita adalah mengisi data pada field ‘tgllhr’ ini, dimana datanya mengambil dari tabel ‘dummy’.
Sebelum kita buat query SQL untuk proses update data tabelnya, terlebih dahulu coba kita perhatikan kedua tabel tersebut. Di dalam kedua tabel tersebut terdapat sebuah field nim. Field inilah yang nantinya menjadi acuan dalam proses update data. Pastikan field yang ada dalam tabel acuan, dalam hal ini field ‘nim’ dalam tabel ‘dummy’, bersifat unik. Apabila field dalam tabel acuan ini tidak unik, maka nanti bisa terjadi ketidakkonsistenan data dan ini bisa bahaya.
Nah.. sekarang bagaimana bentuk query SQL nya? ini dia
UPDATE mhs, dummy SET mhs.tgllhr = dummy.tgllhr WHERE mhs.nim = dummy.nim;
Mengapa di dalam nama tabel setelah UPDATE … perlu dituliskan ‘mhs, dummy’? ya.. karena kita bekerja di 2 buah tabel. Selanjutnya maksud dari ‘SET mhs.tgllhr = dummy.tgllhr‘ adalah data pada field ‘tgllhr’ dari tabel ‘mhs’ akan diisi dengan data yang diambil dari field ‘tgllhr’ dari tabel ‘dummy’. Sedangkan guna dari ‘WHERE mhs.nim = dummy.nim‘ adalah menunjukkan acuan bahwa data yang diupdate adalah berdasarkan nim yang sama dari kedua tabel.
Mudah dan cepat bukan?? Semoga tips dari saya ini berguna bagi Anda.

Artikel Terkait di Bawah posting

3 comments:

ini yang benar benar saya cari pak,
saya masih dalam tahap belajar
mohon arahannnya dimana saya harus ketikkan query tersebut?
saya coba ketik apa adanya seperti diatas tapi tidak berhasil

Terima kasih

Posting Komentar