首頁 > 資料庫 > mysql教程 > 如何在SQL Server 2005中模擬MySQL的group_concat?

如何在SQL Server 2005中模擬MySQL的group_concat?

Barbara Streisand
發布: 2025-01-25 19:17:11
原創
224 人瀏覽過

How to Simulate MySQL's group_concat in SQL Server 2005?

在SQL Server 2005group_concat複製MySQL的

> SQL Server 2005缺少MySQL中發現的方便group_concat功能,在需要群組中的連線值時會挑戰。雖然自訂功能提供了解決方案,但對於不熟悉其實作的人來說,它們可能很麻煩。

>

>一個實用的替代方法是利用SQL Server的系統表和函數。 這是一個範例:FOR XML PATH

<code class="language-sql">SELECT table_name, LEFT(column_names , LEN(column_names )-1) AS column_names
FROM information_schema.columns AS extern
CROSS APPLY
(
    SELECT column_name + ','
    FROM information_schema.columns AS intern
    WHERE extern.table_name = intern.table_name
    FOR XML PATH('')
) pre_trimmed (column_names)
GROUP BY table_name, column_names;</code>
登入後複製
用於改進特殊字元的處理,一種更強大的方法是:>

這些方法有效地模仿
<code class="language-sql">WITH extern AS (SELECT DISTINCT table_name FROM INFORMATION_SCHEMA.COLUMNS)
SELECT table_name, LEFT(y.column_names, LEN(y.column_names) - 1) AS column_names
FROM extern
CROSS APPLY (SELECT column_name + ','
             FROM INFORMATION_SCHEMA.COLUMNS AS intern
             WHERE extern.table_name = intern.table_name
             FOR XML PATH(''), TYPE) x (column_names)
CROSS APPLY (SELECT x.column_names.value('.', 'NVARCHAR(MAX)')) y(column_names);</code>
登入後複製
,而無需複雜的使用者定義功能,從而使開發人員對高階SQL的經驗較低。

以上是如何在SQL Server 2005中模擬MySQL的group_concat?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板