Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL Server equivalent of WM_CONCAT function [duplicate]

Possible Duplicate:
Concat field value to string in SQL Server

What is the SQL Server equivalent of WM_CONCAT?

like image 842
RGO Avatar asked Feb 19 '23 01:02

RGO


1 Answers

You don't have an equivalent function for that, but you can still simulate (make useof CROSS APPLY and FOR XML PATH('')). example,

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

will result

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

Using this query:

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 Demo

like image 197
John Woo Avatar answered Feb 21 '23 17:02

John Woo