home

-- CSV string from table
Author Nigel Rivett

declare @table table (i int, make varchar(10), model varchar(10))
insert @table select 1, 'Honda', 'Accord'
insert @table select 2, 'Honda', 'Civic'
insert @table select 3, 'Ford', 'Fiesta'
insert @table select 4, 'Ford', 'Focus'
insert @table select 5, 'Ford', 'Granada'

select	csvstr =	(
		select ';' + model
		from @table
		for xml path('')
		)

result
csvstr
-----------------------------------
;Accord;Civic;Fiesta;Focus;Granada


select	csvstr = stuff	(
				(
				select ';' + model
				from @table
				for xml path('')
				)
			,1,1,'')


result
csvstr
-----------------------------------
Accord;Civic;Fiesta;Focus;Granada



select	make,
	csvstr = stuff	(
				(
					select ';' + model
					from @table t2 where t.make = t2.make
					for xml path('')
				)
			,1,1,'')
from (select distinct make from @table) t


result
make       csvstr
---------- ---------------------
Ford       Fiesta;Focus;Granada
Honda      Accord;Civic




home