Heim > Datenbank > MySQL-Tutorial > Wie verbinde ich Tabellen mit durch Kommas getrennten Werten in SQL?

Wie verbinde ich Tabellen mit durch Kommas getrennten Werten in SQL?

Mary-Kate Olsen
Freigeben: 2024-12-14 04:32:14
Original
983 Leute haben es durchsucht

How to Join Tables with Comma-Separated Values in SQL?

Zwei Tabellen mit durch Kommas getrennten Werten verbinden

Problem:

Wir haben zwei Tabellen : Notizen und Positionen. Die Notes-Tabelle enthält eine Spalte namens „forDepts“, in der durch Kommas getrennte Abteilungs-IDs gespeichert sind. Wir müssen diese Tabellen verknüpfen und die „forDepts“-Werte mit den entsprechenden Abteilungsnamen aus der Positionstabelle verknüpfen.

Gewünschte Ausgabe:

nid DepartmentName
1 Executive, Corp Admin, Art
2 Art, Marketing

Lösung:

Da die Datenbankstruktur nicht geändert werden kann, verwenden wir die folgende SQL-Abfrage, um das Gewünschte zu erreichen Ausgabe:

SELECT  a.nid,
        GROUP_CONCAT(b.name ORDER BY b.id) DepartmentName
FROM    Notes a
        INNER JOIN Positions b
            ON FIND_IN_SET(b.id, a.forDepts) > 0
GROUP   BY a.nid
Nach dem Login kopieren

Erklärung:

  • Die Funktion GROUP_CONCAT wird verwendet, um die Werte der Spalte „Name“ aus der Positionstabelle für jede Zeile in zu verketten Notizentabelle.
  • Die ORDER BY-Klausel stellt sicher, dass die Abteilungsnamen nach ihrer Reihenfolge sortiert werden IDs.
  • Die Funktion FIND_IN_SET prüft, ob die Abteilungs-ID aus der Tabelle „Positionen“ in der Spalte „forDepts“ der Tabelle „Notizen“ vorhanden ist. Wenn dies der Fall ist, wird die entsprechende Zeile in den Join einbezogen.
  • Die GROUP BY-Klausel gruppiert die Ergebnisse nach der Spalte „nid“ in der Notizentabelle und kombiniert effektiv alle mit jeder Notiz verknüpften Abteilungsnamen.

Durch Ausführen dieser Abfrage können wir die gewünschte Ausgabe erhalten, bei der die Spaltenwerte „forDepts“ aus der Notes-Tabelle durch die entsprechenden durch Kommas getrennten Abteilungsnamen aus den Positionen ersetzt werden Tisch. Dies erleichtert den Export der Daten in eine Excel-Datei mithilfe des bereitgestellten PHP-Codes.

Das obige ist der detaillierte Inhalt vonWie verbinde ich Tabellen mit durch Kommas getrennten Werten in SQL?. 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