Avatar of crompnk
crompnkFlag for United Kingdom of Great Britain and Northern Ireland

asked on 

Comma delimited list, tsql

Hi,
I would like to amalgamate values from multiple rows into a comma delimited list but group by another column (key), so for example the outcome would be:

Name     Group
Address  Home,Work
City         Home,Work

CREATE TABLE TEMPTABLE(

             [NAME] [varchar] (20),
             [GROUP] [varchar] (20)
             )
GO
INSERT INTO TEMPTABLE([NAME], [GROUP]) VALUES ('Address','Home')
INSERT INTO TEMPTABLE([NAME], [GROUP]) VALUES ('City','Home')
INSERT INTO TEMPTABLE([NAME], [GROUP]) VALUES ('Address','Work')
INSERT INTO TEMPTABLE([NAME], [GROUP]) VALUES ('City','Work')
GO

SELECT [NAME]
FROM TEMPTABLE

DROP TABLE TEMPTABLE

Open in new window


SELECT List = STUFF((
			SELECT DISTINCT ', ' + QUOTENAME([GROUP], '''')
			FROM (SELECT * FROM TEMPTABLE) x
			FOR XML PATH('')
				,TYPE
			).value('.', 'VARCHAR(8000)'), 1, 3, '')

Open in new window

Microsoft SQL Server 2005SQL

Avatar of undefined
Last Comment
PortletPaul
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

SELECT DISTINCT Name
, STUFF(
       (SELECT ', ' + QUOTENAME([GROUP], '''')
        FROM TempTable
        WHERE Name = R.Name
        ORDER BY [Group]
        FOR XML PATH('')
       )
       , 1
       , 2
       , '') AS List FROM TempTable AS R
ASKER CERTIFIED SOLUTION
Avatar of PortletPaul
PortletPaul
Flag of Australia image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Microsoft SQL Server 2005
Microsoft SQL Server 2005

Microsoft SQL Server 2005 is a suite of relational database management system (RDBMS) products providing multi-user database access functionality.Component services include integration (SSIS), reporting (SSRS), analysis (SSAS), data quality, master data, T-SQL and performance tuning. It includes support for managing XML data and allows a database server to be exposed over web services using Tabular Data Stream (TDS) packets encapsulated within SOAP (protocol) requests.

72K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo