Zeilen mit doppelten IDs und unterschiedlichen Spaltenwerten extrahieren
Die Abfrage:
Bedenken Sie das folgende Tabelle:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 2 | A | +------+------+ | 3 | A | +------+------+ | 1 | B | +------+------+ | 2 | B | +------+------+
Das Ziel besteht darin, alle Zeilen abzurufen, in denen Die Spalte ARIDNR weist doppelte Werte auf, während die Spalte LIEFNR unterschiedliche Werte aufweist.
Lösung:
Um diese Abfrage effektiv auszuführen, führen Sie die folgenden Schritte aus:
SELECT * FROM Table WHERE ARIDNR IN ( SELECT ARIDNR FROM Table GROUP BY ARIDNR HAVING COUNT(DISTINCT LIEFNR) > 1 )
Erklärung:
Diese Abfrage verwendet eine Unterabfrage, um ARIDNRs zu identifizieren die mehr als einmal vorkommen. In der äußeren Abfrage werden alle Zeilen mit den identifizierten ARIDNRs abgerufen.
Unterabfrage:
Äußere Abfrage:
Ergebnis:
Die Ausgabe der Abfrage lautet:
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 1 | B | +------+------+ | 2 | A | +------+------+ | 2 | B | +------+------+
Dieses Ergebnis Erfasst erfolgreich alle Zeilen mit doppelten ARIDNRs und unterschiedlichen LIEFNR-Werten.
Das obige ist der detaillierte Inhalt vonWie wähle ich Zeilen mit doppelten IDs und eindeutigen Spaltenwerten in SQL aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!