Heim >Datenbank >MySQL-Tutorial >Wie verkette ich mehrere SQL-Zeilen in einer einzigen durch Kommas getrennten Spalte?
SQL-Techniken zum Kombinieren mehrerer Zeilen in einem einzigen durch Kommas getrennten Feld
Das Zusammenfassen mehrerer Datenzeilen in einer einzigen Spalte, getrennt durch Kommas, ist eine häufige Anforderung bei der Datenmanipulation. Dieser Leitfaden zeigt, wie diese Verkettung mithilfe von SQL erreicht wird, wobei der Schwerpunkt auf Microsoft SQL Server 2005 und höher liegt.
Hier ist eine SQL Server-Lösung:
<code class="language-sql">SELECT t.TicketID, STUFF(ISNULL((SELECT ', ' + x.Person FROM @Tickets x WHERE x.TicketID = t.TicketID GROUP BY x.Person FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') AS ConcatenatedPersons FROM @Tickets t GROUP BY t.TicketID</code>
Dieser Ansatz verwendet die Funktion STUFF
, um ein führendes Komma effizient aus der verketteten Zeichenfolge zu entfernen. Die verschachtelte Abfrage nutzt FOR XML PATH
, um eine durch Kommas getrennte Liste aus den einzelnen Person
-Werten zu erstellen, die jedem TicketID
zugeordnet sind. Die Funktion ISNULL
behandelt Fälle, in denen einer bestimmten Ticket-ID keine Personen zugeordnet sind. Das Ergebnis ist eine einzelne Spalte (ConcatenatedPersons
), die die durch Kommas getrennte Personenliste für jedes Ticket enthält. Diese Methode bietet eine saubere und effiziente Möglichkeit, die gewünschte Verkettung innerhalb von SQL Server zu erreichen. Passen Sie diese Technik an Ihre spezifischen Tabellen- und Spaltennamen an, um optimale Ergebnisse zu erzielen.
Das obige ist der detaillierte Inhalt vonWie verkette ich mehrere SQL-Zeilen in einer einzigen durch Kommas getrennten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!