Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh menggabungkan data teks dari pelbagai baris di SQL Server?

Bagaimanakah saya boleh menggabungkan data teks dari pelbagai baris di SQL Server?

Mary-Kate Olsen
Lepaskan: 2025-01-25 17:57:10
asal
991 orang telah melayarinya

How Can I Concatenate Text Data from Multiple Rows in SQL Server?

Menggabungkan Data Teks daripada Berbilang Baris Pelayan SQL: Panduan Komprehensif

Ramai pengguna SQL Server perlu menggabungkan data teks merentas berbilang baris menjadi satu rentetan. Ini tidak ternilai untuk penjanaan laporan, penggabungan data dan pengiraan berasaskan rentetan.

Bayangkan jadual dengan senarai nama:

<code>Peter
Paul
Mary</code>
Salin selepas log masuk

Matlamatnya ialah untuk mencipta rentetan yang dipisahkan koma: Peter, Paul, Mary

Kaedah 1: Untuk SQL Server 2017 dan Kemudian (STRING_AGG)

SQL Server 2017 dan Pangkalan Data SQL Azure menawarkan fungsi STRING_AGG yang cekap:

<code class="language-sql">SELECT STRING_AGG(Name, ', ') AS ConcatenatedNames
FROM TableName;</code>
Salin selepas log masuk

Kaedah 2: Penghuraian XML (Untuk Versi Pelayan SQL Lama)

Untuk versi SQL Server yang lebih awal, penghuraian XML menyediakan penyelesaian:

<code class="language-sql">SELECT
    LEFT(
        (
            SELECT Name + ',' AS [text()]
            FROM TableName
            ORDER BY Name
            FOR XML PATH('')
        ).value('.', 'nvarchar(max)'),
        LEN((
            SELECT Name + ',' AS [text()]
            FROM TableName
            ORDER BY Name
            FOR XML PATH('')
        ).value('.', 'nvarchar(max)')) - 1
    ) AS ConcatenatedNames
FROM TableName;</code>
Salin selepas log masuk

Kaedah 3: Menggunakan Fungsi STUFF

Fungsi STUFF menawarkan pendekatan lain:

<code class="language-sql">SELECT
    STUFF(
        (
            SELECT ',' + Name
            FROM TableName
            ORDER BY Name
            FOR XML PATH('')
        ).value('.', 'nvarchar(max)'),
        1, 1, ''
    ) AS ConcatenatedNames
FROM TableName;</code>
Salin selepas log masuk

Kaedah ini menggabungkan data teks dengan cekap daripada berbilang baris dalam SQL Server, memudahkan manipulasi dan pengagregatan data. Pilih kaedah yang sesuai untuk versi SQL Server anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan data teks dari pelbagai baris di SQL Server?. 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