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
Erklärung:
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!