Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Berbilang Baris Pelayan SQL ke dalam Lajur Dibatasi Koma Tunggal?
Gabungkan berbilang baris ke dalam satu lajur nilai dipisahkan koma dalam SQL Server
Soalan:
Anda perlu menggabungkan berbilang baris dengan pengecam biasa ke dalam satu lajur, di mana nilai dipisahkan dengan koma. Contohnya, anda ingin mendapatkan data daripada:
<code>[TicketID] [Person] T0001 Alice T0001 Bob T0002 Catherine T0002 Doug T0003 Elaine</code>
Tukar kepada:
<code>[TicketID] [People] T0001 Alice, Bob T0002 Catherine, Doug T0003 Elaine</code>
Penyelesaian untuk 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>
Contoh pertanyaan:
<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>
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Baris Pelayan SQL ke dalam Lajur Dibatasi Koma Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!