Monday, 30 December 2013

Extract single row of a table separated by comma

DECLARE @XYList varchar(MAX)
SET @XYList = ''

SELECT @XYList = @XYList + CONVERT(varchar, X) + ',' + CONVERT(varchar, Y) + ','
FROM POINTS

-- Remove last comma
SELECT LEFT(@XYList, LEN(@XYList) - 1)

Concatenate multiple rows to single having similar group

SELECT
    Id,Name,
    Stuff(
    (SELECT '/' + State
       FROM Table_3 t2
        WHERE t2.Id=t1.Id and t2.Name=t1.Name
        FOR XML PATH(''),type).value('.','nvarchar(max)'), 1, 1, '') AS Class
FROM
    Table_3 t1
GROUP BY Id,Name