Click here to Skip to main content
15,887,746 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have table

column-1 column-2
Animal dog
Animal lion
Animal tiger
Animal goat

I want the result as

column-1 column-2
Animal dog,lion,tiger,goat

Is This Possible to derive
Posted
Comments
Krunal Rohit 6-Nov-15 0:04am    
I didn't get the subject: sql to derive data for dataset.

-KR

1 solution

If it is SQL Server, you can do this using XML PATH.

You have to query something like-
SQL
SELECT  Column1
       ,STUFF((SELECT ', ' + Column2 [text()]
         FROM YourTable 
         WHERE Column1 = t.Column1
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') Column2
FROM YourTable t
GROUP BY Column1


EXAMPLE:
SQL
DECLARE @MyTable TABLE(Column1 VARCHAR(20), Column2 VARCHAR(20))
INSERT INTO @MyTable VALUES ('Animal', 'dog'),('Animal', 'lion'),('Animal', 'tiger'),('Animal', 'goat')

SELECT  Column1
       ,STUFF((SELECT ', ' + Column2 [text()]
         FROM @MyTable 
         WHERE Column1 = t.Column1
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') Column2
FROM @MyTable t
GROUP BY Column1


Hope, it helps :)
 
Share this answer
 
v3
Comments
Arasappan 6-Nov-15 0:23am    
want to bind in dynamic values
Suvendu Shekhar Giri 6-Nov-15 0:27am    
Check the updated solution.
Try the first query. You only have to change the Table and Column names in that query.
Let me know if any further help is required.
Arasappan 6-Nov-15 0:30am    
Wait I am slow learner, analyse and call u
Arasappan 6-Nov-15 0:34am    
Working exactly..for joins result it may apply

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900