Pertimbangkan jadual dengan data seperti yang ditunjukkan di bawah:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | NULL |
3 | NULL | DEF |
Matlamatnya adalah untuk melaksanakan PILIH operasi untuk menggabungkan baris ini menjadi satu baris:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
Fungsi agregat boleh digunakan untuk mengabaikan nilai NULL dan menggabungkan nilai bukan NULL daripada berbilang baris yang sepadan. Berikut ialah pertanyaan yang menunjukkan pendekatan ini:
SELECT FK, MAX(Field1) AS Field1, MAX(Field2) AS Field2 FROM table1 GROUP BY FK;
Dalam pertanyaan ini, kami menggunakan fungsi agregat MAX untuk memilih nilai maksimum untuk Medan1 dan Medan2 daripada baris yang dikumpulkan mengikut FK. Oleh kerana nilai NULL diabaikan oleh fungsi agregat, ini memastikan bahawa hanya nilai bukan NULL digabungkan.
Menggunakan data ujian yang disediakan:
CREATE TABLE table1 (FK int, Field1 varchar(10), Field2 varchar(10)); INSERT INTO table1 VALUES (3, 'ABC', NULL); INSERT INTO table1 VALUES (3, NULL, 'DEF'); INSERT INTO table1 VALUES (4, 'GHI', NULL); INSERT INTO table1 VALUES (4, 'JKL', 'MNO'); INSERT INTO table1 VALUES (4, NULL, 'PQR');
Pertanyaan itu menghasilkan hasil yang diingini:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
4 | JKL | PQR |
Atas ialah kandungan terperinci Bagaimanakah Fungsi Agregat SQL Boleh Menggabungkan Berbilang Baris dengan Nilai NULL ke dalam Baris Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!