Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Keputusan Pertanyaan SQL ke dalam Rentetan Tunggal dalam Pelayan SQL?

Bagaimana untuk Menggabungkan Keputusan Pertanyaan SQL ke dalam Rentetan Tunggal dalam Pelayan SQL?

Barbara Streisand
Lepaskan: 2024-12-27 22:09:10
asal
478 orang telah melayarinya

How to Concatenate SQL Query Results into a Single String in SQL Server?

Menggabungkan Hasil Pertanyaan SQL menjadi Rentetan Tunggal

Dalam Pelayan SQL, tugas menggabungkan berbilang hasil pertanyaan ke dalam rentetan tunggal boleh dicapai menggunakan pelbagai teknik.

UNTUK LALUAN XML dan STUFF

Untuk SQL Server 2005 dan ke atas, gabungan FOR XML PATH dan STUFF menawarkan pendekatan yang mudah:

DECLARE @CodeNameString varchar(100)

SELECT 
   @CodeNameString = STUFF( (SELECT ',' + CodeName 
                             FROM dbo.AccountCodes 
                             ORDER BY Sort
                             FOR XML PATH('')), 
                            1, 1, '')
Salin selepas log masuk

Kaedah ini menggabungkan hasil pertanyaan ke dalam satu rentetan XML dan kemudian menggunakan STUFF untuk mengalih keluar aksara "," terkemuka.

Berasaskan XML Penggabungjalinan

Pilihan lain ialah memanfaatkan fungsi penggabungan XML:

DECLARE @CodeNameString varchar(100)

SET @CodeNameString = (SELECT CodeName FROM dbo.AccountCodes FOR XML PATH(''))
Salin selepas log masuk

Pendekatan berasaskan kursor

Dalam kes di mana penggabungan XML tidak boleh dilaksanakan, pendekatan berasaskan kursor boleh digunakan:

DECLARE @CodeNameString varchar(100)
DECLARE @CodeName varchar(50)

DECLARE cursor CURSOR FOR
SELECT CodeName
FROM dbo.AccountCodes
ORDER BY Sort

OPEN CURSOR
FETCH NEXT FROM CURSOR INTO @CodeName
WHILE @@FETCH_STATUS = 0
BEGIN
   SET @CodeNameString = @CodeNameString + @CodeName + ','
   FETCH NEXT FROM CURSOR INTO @CodeName
END

CLOSE CURSOR
DEALLOCATE CURSOR
Salin selepas log masuk

Kaedah ini berulang melalui hasil pertanyaan dan menambahkannya pada pembolehubah @CodeNameString.

Pendekatan Pilihan

Yang diutamakan pendekatan bergantung pada versi SQL Server dan ciri data tertentu. Untuk kes di mana data mengandungi aksara khas seperti '<', '>' atau '&', pertimbangkan untuk menggunakan teknik FOR XML PATH dan STUFF, manakala untuk set data yang lebih besar atau senario sensitif prestasi, pendekatan berasaskan kursor mungkin lebih sesuai.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Keputusan Pertanyaan SQL ke dalam Rentetan Tunggal dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan