65.9K
CodeProject is changing. Read more.
Home

Transform column values into a row

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (1 vote)

May 14, 2012

CPOL
viewsIcon

7391

downloadIcon

36

The following article describes how to transform column values into rows

Introduction

The following script is useful in creating comma separated row values.

Background

Here, I have created a table called Sample which contains two columns as ID, Type and enter some data as follows:

Using the Code

Here, I have used STUFF() and XML PATH() functions.

SELECT S.ID, 

(SELECT  STUFF(( SELECT  DISTINCT'],[' + [TYPE] FROM [Sample] _
WHERE ID=S.ID  FOR XML PATH('')), 1, 2, '') + ']') AS [TYPE]

FROM [Sample] AS S
GROUP BY S.ID  

The result will appear as follows:

Points of Interest

SELECT  DISTINCT [TYPE] FROM [Sample] FOR XML PATH('') 

Using XML PATH() with select statement will yield result as follows:

STUFF() will replace the first two characters ( ],) with empty string.

History

  • May 01, 2012: Article created