Heim > Datenbank > MySQL-Tutorial > Wie kann ich Zeilen mit NULL-Werten in SQL basierend auf einem gemeinsamen Schlüssel zusammenführen?

Wie kann ich Zeilen mit NULL-Werten in SQL basierend auf einem gemeinsamen Schlüssel zusammenführen?

Mary-Kate Olsen
Freigeben: 2025-01-01 11:01:11
Original
221 Leute haben es durchsucht

How Can I Merge Rows with NULL Values in SQL Based on a Common Key?

So führen Sie Zeilen in SQL zusammen

Problem:

Betrachten Sie eine Tabelle mit den folgenden Daten:

FK Field1 Field2
3 ABC NULL
3 NULL DEF

Das Ziel besteht darin, eine zusammengeführte Zeile aus der Tabelle abzurufen, in der die Werte von Feld1 und Feld2 für denselben Wert kombiniert werden FK:

FK Field1 Field2
3 ABC DEF

Lösung:

Um dieses Ergebnis zu erreichen, können Aggregatfunktionen eingesetzt werden. Aggregatfunktionen ignorieren NULL-Werte und ermöglichen die Zusammenführung von Nicht-NULL-Werten. Beispielsweise kann die folgende Abfrage (getestet in SQL Server Express 2008 R2) verwendet werden:

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;
Nach dem Login kopieren

Die MAX-Funktion wird verwendet, um einen Wert aus den nach FK gruppierten Zeilen auszuwählen. Es kann jede Aggregatfunktion verwendet werden, die einen einzelnen Wert innerhalb der gruppierten Zeilen abruft.

Beispieldaten und -ergebnisse:

Beachten Sie die folgenden Beispieldaten:

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');
Nach dem Login kopieren

Das Ausführen der Abfrage für diese Beispieldaten ergibt die folgende Ausgabe:

FK  Field1  Field2
--  ------  ------
3   ABC     DEF
4   JKL     PQR
Nach dem Login kopieren

Somit die Zeilen werden effektiv zusammengeführt, indem Nicht-NULL-Werte für denselben FK in den Spalten Field1 und Field2 kombiniert werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen mit NULL-Werten in SQL basierend auf einem gemeinsamen Schlüssel zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage