swirl
Home Software Blog Wallpapers Webtools
TSQL - rows to comma separated string
Sunday 01, February 2015   |   Post link
We often need to retrieve a column value from a table into a comma separated string. For example, lets say we have records like:

RollName
1Neel
2Sid
3Meena

We now want a list of names like Neel, Sid, Meena. This is really simple with a little bit of recursion. Here is the code:
-- Lets make a table and fill it with sample data
declare @Student table
(
	roll int primary key identity (1,1),
	name varchar(50) not null
);

insert into @Student (name) values('Neel'), ('Sid'), ('Mina');

-- The main logic
declare @names varchar(max) = '';
select @names = @names + case when @names = '' then name else ', ' + name end from @Student;
select @names;
It's possible to do the same thing using the COALESCE function.
-- Lets make a table and fill it with sample data
declare @Student table
(
	roll int primary key identity (1,1),
	name varchar(50) not null
);

insert into @Student (name) values('Neel'), ('Sid'), ('Mina');

-- The main logic
declare @names varchar(max);
select @names = coalesce(@names + ', ', '') + name from @Student
select @names
The output is Neel, Sid, Mina.
Note, when using coalesce, the starting value of @names is NULL.


Categories: TSQL (5)
Tags: TSQL(3)

Load Comments

Posts By Year

2016 (6)
2017 (5)
2012 (2)
2013 (4)
2014 (2)
2015 (18)

Posts By Category

Software Engineering (1)
IIS (1)
T-SQL (1)
Git (1)
Technology (1)
Database migration (1)
PHP (1)
Corporate culture (1)
Tablet (1)
OData (1)
Containers (3)
Lucene (1)
Test Driven (1)
Java (2)
TDD (1)
Solr (1)
XML (1)
TSQL (5)
Windows (4)
PowerShell (1)
Software development (1)
Wallpapers (1)
Utilities (1)
Entity Framework (2)
Rants (5)
Life (5)
Programming (13)
Office (1)
Book review (3)
Sql Server (1)
ASP.NET MVC (4)
Android (1)
Desktop (1)
Unit Testing (1)

Posts By Tags

Dockers(2) Books(1) Organization(1) Busy(1) PowerShell(1) PHP(1) Backup(1) Database(1) Containers(3) Mobile Apps(1) Paths(1) SSH(1) Web Development(4) Yii(1) Debugging(1) Advertising(1) Adults(1) GradleApache(1) C#(2) SQL Code-first Migration(1) Developer(1) Consumerism(1) Log4J(1) Self reliance(1) Company culture(1) Entity framework(1) Work culture(1) Programming(1) Management(2) Book review(2) Validation(2) C++(1) Sql Express(1) HierarchyID(1) Lucene(1) IIS(1) Windows 10(1) Cmdlet(1) Intelli J(1) JavaScript(1) Spirituality(1) Migration history(1) Tablet(1) OData(1) TDD(1) Data-time(1) Beliefs(1) Checkbox(1) CTE(1) CSRF(1) JSON(1) Windows 8.1(1) Quality(1) XML(1) ASP.NET(4) TSQL(3) File history(1) Windows(1) Wallpapers(1) SD card(1) File copy(1) SQL(1) Windows 2016(2) Python(1) MVC(4) Url rewrite(1) Solr(1) Modern Life(1) System Image(1) Android(1) Commons(1) Office(1) Anti-forgery(1)