कुछ इस तरह का प्रयास करें (SQL सर्वर 2005 और ऊपर पर काम करता है):
set nocount on;
declare @t table (id int, name varchar(20), x char(1))
insert into @t (id, name, x)
select 1,'test1', 'a' union
select 1,'test1', 'b' union
select 1,'test1', 'c' union
select 2,'test2', 'a' union
select 2,'test2', 'c' union
select 3,'test3', 'b' union
select 3,'test3', 'c'
SET NOCOUNT OFF
SELECT p1.id, p1.name,
stuff(
(SELECT
', ' + x
FROM @t p2
WHERE p2.id=p1.id
ORDER BY name, x
FOR XML PATH('')
)
,1,2, ''
) AS p3
FROM @t p1
GROUP BY
id, name
आउटपुट:
id name p3
----------- -------------------- ---------
1 test1 a, b, c
2 test2 a, c
3 test3 b, c
(3 row(s) affected)