Saya punya dua tabel, dan ingin memperbarui bidang di T1 untuk semua baris dalam BERGABUNG KIRI.
Sebagai contoh mudah, perbarui semua baris dari hasil-set berikut:
SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.id = T2.id WHERE T2.id IS NULL
The pengguna MySQL menyatakan bahwa:
Pernyataan UPDATE multi-tabel dapat menggunakan semua tipe join yang diizinkan dalam pernyataan SELECT, seperti LEFT JOIN.
Tetapi saya tidak dapat menemukan sintaks yang tepat untuk melakukan hal itu dalam UPDATE multi-tabel yang didokumentasikan.
Apa sintaks yang tepat?
sumber
Hal yang sama dapat diterapkan pada skenario di mana data telah dinormalisasi, tetapi sekarang Anda ingin tabel memiliki nilai yang ditemukan di tabel ketiga. Berikut ini akan memungkinkan Anda untuk memperbarui tabel dengan informasi dari tabel ketiga yang disukai oleh tabel kedua.
Ini akan berguna dalam kasus di mana Anda memiliki pengguna dan grup, dan Anda ingin pengguna dapat menambahkan variasi sendiri dari nama grup, jadi awalnya Anda ingin mengimpor nama grup yang ada ke bidang di mana pengguna berada akan dapat memodifikasinya.
sumber
Saya akan memperbarui teks bidang dalam tabel A dengan
dan sampai pada hasil ini:
di mana hanya satu bidang dari Tabel B diterima, tetapi saya akan sampai pada hasil ini:
sumber
sumber
sumber