Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris ke dalam Lajur Tunggal dengan Nilai Dipisahkan Koma Menggunakan T-SQL?
Mengembalikan berbilang nilai dalam satu lajur dalam T-SQL
Mendapatkan berbilang nilai daripada baris yang berbeza dan menggabungkannya ke dalam satu lajur adalah tugas biasa dalam persekitaran SQL Server. Ini amat berguna dalam senario seperti mendapatkan semula semua alias yang dikaitkan dengan pengguna tertentu.
Untuk mencapai ini dengan cekap, pertimbangkan untuk menggunakan fungsi tersuai yang menggunakan fungsi COALESCE. Pendekatan ini membolehkan anda menyatukan nilai yang diambil secara berperingkat ke dalam satu rentetan, akhirnya memberikan output yang diingini.
Berikut ialah contoh fungsi yang dipanggil GetAliasesById:
<code class="language-sql">CREATE FUNCTION [dbo].[GetAliasesById] ( @userID int ) RETURNS varchar(max) AS BEGIN declare @output varchar(max) select @output = COALESCE(@output + ', ', '') + alias from UserAliases where userid = @userID return @output END</code>
Selepas mentakrifkan fungsi ini, anda boleh menyepadukannya ke dalam pertanyaan anda untuk mendapatkan output yang diingini:
<code class="language-sql">SELECT UserID, dbo.GetAliasesByID(UserID) FROM UserAliases GROUP BY UserID</code>
Pertanyaan ini akan mengembalikan jadual dengan dua lajur: UserID dan Alias. Lajur Alias akan mengandungi senarai yang dipisahkan koma bagi semua alias yang dikaitkan dengan setiap pengguna, memenuhi keperluan yang ditentukan untuk mengembalikan berbilang nilai dalam satu lajur.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris ke dalam Lajur Tunggal dengan Nilai Dipisahkan Koma Menggunakan T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!