I have a table like this.
Create table #temp
(
    id int,
    firstname varchar(50),
    lastname varchar(50)
)
insert into #temp (id, firstname, lastname)
select 1,'mit','jain'
insert into #temp (id, firstname, lastname)
select 1,'mit','jain1'
insert into #temp (id, firstname, lastname)
select 1,'mit','jain2'
insert into #temp (id, firstname, lastname)
select 2,'mit','jain3'
insert into #temp (id, firstname, lastname)
select 2,'mit','jain4'
insert into #temp (id, firstname, lastname)
select 1,'mit','jain5'
insert into #temp (id, firstname, lastname)
select 1,'mit','jain6'
I want the table to be shown as below
id  firstname  lastname
----------------------------------------------
 1   mit        jain,jain1,jain2,jain5,jain6 
 2   mit        jain2,jain4
I have tried the query as below
select  
    id, firstname,
    substring((Select ', '+tc1.lastname AS [text()]
               From #temp tc1
               Inner Join #temp c1 On c1.id = tc1.id
               Where tc1.firstname = c1.firstname
               Order BY tc1.lastname
               For Xml Path('')), 2, 1000) 'LastName1' 
from #temp 
group by id, firstname
But it's not working. Please help me out
 
     
    