Heim >Datenbank >MySQL-Tutorial >Wie kombiniere ich mehrere SQL Server-Zeilen in einer einzigen durch Kommas getrennten Spalte?
Mehrere Zeilen in einer Spalte mit durch Kommas getrennten Werten in SQL Server zusammenführen
Frage:
Sie müssen mehrere Zeilen mit gemeinsamen Bezeichnern in einer einzigen Spalte zusammenführen, wobei die Werte durch Kommas getrennt sind. Sie möchten beispielsweise Daten abrufen von:
<code>[TicketID] [Person] T0001 Alice T0001 Bob T0002 Catherine T0002 Doug T0003 Elaine</code>
Konvertieren in:
<code>[TicketID] [People] T0001 Alice, Bob T0002 Catherine, Doug T0003 Elaine</code>
Lösung für SQL Server 2005:
<code class="language-sql">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, '')</code>
Beispielabfrage:
<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, '') [无前导逗号], ISNULL((SELECT ', ' + x.Person FROM @Tickets x WHERE x.TicketID = t.TicketID GROUP BY x.Person FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), '') [如果非空则有前导逗号] FROM @Tickets t GROUP BY t.TicketID</code>
Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere SQL Server-Zeilen in einer einzigen durch Kommas getrennten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!