Combine Rows To Column—T-SQL Sample

CREATE TABLE ContractEvents (ProjectId      INT,
                             ContractNumber INT)

INSERT INTO ContractEvents
VALUES      (1,1), (1,2), (1,3), (2,1), (2,2)

DECLARE @Events TABLE ( ProjectId       INT,
               ContractNumbers VARCHAR(200)) 


Select Projectid,  ContractNumbers = STUFF(( Select ', ' + convert(varchar(100),c.ContractNumber) as [text()]
From ContractEvents c
Where c.ProjectId = b.ProjectId  
Order by ProjectId
For XML Path ('')), 1, 1, '')

From ContractEvents b
Group by ProjectId

--Select * from @Events

drop table ContractEvents


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s