Pertanyaan Kemas Kini SQL dengan Fungsi Agregat
Soalan ini meneroka penggunaan fungsi agregat dalam pertanyaan kemas kini SQL. Pengguna cuba mengemas kini medan dalam jadual dengan jumlah nilai daripada jadual lain. Walau bagaimanapun, pertanyaan mereka tidak berfungsi kerana isu sintaksis.
Analisis
Pertanyaan awal yang dikemukakan oleh pengguna mengandungi dua kelemahan utama:
Penyelesaian
Untuk menyelesaikan isu ini, subquery mesti digunakan. Subkueri akan mengira jumlah nilai daripada jadual kedua, mengumpulkan mengikut medan sepunya. Hasil daripada subkueri ini kemudiannya akan digabungkan dengan jadual pertama dan digunakan untuk mengemas kini medan dengan sewajarnya.
Pertanyaan yang betul:
UPDATE t1 SET t1.field1 = t2.field2Sum FROM table1 t1 INNER JOIN (select field3, sum(field2) as field2Sum from table2 group by field3) as t2 on t2.field3 = t1.field3
Dalam pertanyaan ini:
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan Jadual dengan Jumlah daripada Jadual Lain Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!