Concatenando campos de registros

Após discussão no fórum Tech Net de como concatenar campos de registros duplicados, chegamos a uma solução interessante, o qual compartilho abaixo.

Problema:

Cada unidade tem varias salas, cada sala esta em um registro diferente.Todas as salas tem que ficar no mesmo registro da unidade.

campo1

campo2


Solução:

create table #teste (id int, unidade varchar(100), sala varchar(2))
go
 
insert #teste values
(1,'Bueno','A'),
(2,'Bueno','B'),
(3,'Oeste','A'),
(4,'Oeste','B'),
(5,'Oeste','C'),
(6,'Sul','A')
go
 
select	* from #teste;
go
 
SELECT	unidade,
		STUFF
		(
			(	
				SELECT	', ' + sala
				FROM	#teste
				WHERE	unidade = _teste.unidade
				for XML PATH('')), 1, 1, ''
			) as salas
FROM	#teste _teste
GROUP	BY unidade
--having	count(*) >1;
go

Link da discussão no forum Tech Net, Clique Aqui.


Publicado em TechNet, Transact SQL, Virtual PASS BR and tagged . Bookmark permalink.

Uma resposta para "Concatenando campos de registros"

Escreva um comentário...

*