RGO*_*RGO 2 sql t-sql database oracle sql-server-2008
什么是SQL Server等效的WM_CONCAT?
你没有相应的功能,但你仍然可以模拟(使用CROSS APPLY
和FOR XML PATH('')
).例,
USERID ADDRESSLINE1
==========================
1 First Street
1 Second Street
2 32th Street
2 24th Street
2 25th Street
Run Code Online (Sandbox Code Playgroud)
将导致
USERID ADDRESSLIST
============================
1 First Street, Second Street
2 32th Street, 24th Street, 25th Street
Run Code Online (Sandbox Code Playgroud)
使用此查询:
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)
Run Code Online (Sandbox Code Playgroud)