65.9K
CodeProject is changing. Read more.
Home

Get comma separated result

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.18/5 (6 votes)

Nov 15, 2007

viewsIcon

25184

Create command for getting comma seperated value

Introduction

Here is some help for people who are awaiting for output from Sql server command described as below. As we are having one table named as MyTable in which we are having two columns named as Dept which contains name of all department within company and another column named as EmpName contains name of all the employess working in the company related to that department.

Now, with the store procedure we are getting all the department name in first column and in second column we are having all the employee names comma separated. So with the below code we will get the same out put.

Using the code

I have table name : MyTable.

Columns : Dept, EmpName

I have table output like below:

Dept EmpName
Software Emp1
Software Emp2
Software Emp3
Account Emp4
Account Emp5

And I want output as below.

Dept EmpName
Software Emp1, Emp2, Emp3
Account Emp4, Emp5


//
// Code is shown below
//
SET ANSI_WARNINGS OFF
Declare @ono varchar(50)
DECLARE My_Cursor CURSOR FOR
SELECT distinct Dept
FROM MyTable
drop table tmp
create table tmp(ono varchar(50),allname varchar(50))
OPEN My_Cursor
FETCH NEXT FROM My_Cursor into @ono
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @EmployeeList varchar(100)
set @EmployeeList = null
SELECT  @EmployeeList = COALESCE(@EmployeeList + ', ', '') + 
   CAST(EmpName AS varchar(5))
FROM MyTable where Dept = @ono
insert into tmp(ono,allname) values(@ono,@EmployeeList)
    FETCH NEXT FROM My_Cursor into @ono
END
CLOSE My_Cursor
DEALLOCATE My_Cursor
select * from tmp

Points of Interest

Change anything as per your requirement. Happy coding.