4

重複の可能性:
SQL Server でフィールド値を文字列に連結

WM_CONCAT に相当する SQL Server は何ですか?

4

1 に答える 1

8

それに相当する関数はありませんが、シミュレートすることはできます ( と を使用CROSS APPLYFOR XML PATH('')ます)。例、

USERID  ADDRESSLINE1
==========================
1       First Street
1       Second Street
2       32th Street
2       24th Street
2       25th Street

結果になります

USERID  ADDRESSLIST
============================
1       First Street, Second Street
2       32th Street, 24th Street, 25th Street

このクエリの使用:

SELECT  a.UserID, 
        SUBSTRING(d.Addresses,1, LEN(d.Addresses) - 1) AddressList
FROM
        (
            SELECT DISTINCT UserID
            FROM tableName
        ) a
        CROSS APPLY
        (
            SELECT [AddressLine1] + ', ' 
            FROM tableName AS B 
            WHERE A.UserID = B.UserID 
            FOR XML PATH('')
        ) D (Addresses) 

SQLFiddle デモ

于 2012-09-24T05:58:35.097 に答える