Mengekstrak Baris dengan ID Pendua dan Nilai Lajur Terbeza
Pertanyaan:
Pertimbangkan jadual berikut:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 2 | A | +------+------+ | 3 | A | +------+------+ | 1 | B | +------+------+ | 2 | B | +------+------+
Matlamatnya adalah untuk mendapatkan semula semua baris yang lajur ARIDNR mempunyai nilai pendua manakala lajur LIEFNR mempunyai nilai yang berbeza.
Penyelesaian:
Untuk melaksanakan pertanyaan ini dengan berkesan, ikuti ini langkah:
SELECT * FROM Table WHERE ARIDNR IN ( SELECT ARIDNR FROM Table GROUP BY ARIDNR HAVING COUNT(DISTINCT LIEFNR) > 1 )
Penjelasan:
Pertanyaan ini menggunakan subkueri untuk mengenal pasti ARIDNR yang berlaku lebih daripada sekali. Dalam pertanyaan luar, ia mendapatkan semula semua baris dengan ARIDNR yang dikenal pasti.
Subquery:
Pertanyaan Luar:
Keputusan:
Output pertanyaan ialah:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 1 | B | +------+------+ | 2 | A | +------+------+ | 2 | B | +------+------+
Hasil ini berjaya menangkap semua baris dengan ARIDNR pendua dan nilai LIEFNR yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan ID Pendua dan Nilai Lajur Unik dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!