Array
(
)

Concatenar campo string no select

Renato Tavares
   - 19 ago 2009

Olá Pessoal..!! 8)
Bom Dia..!! :D

Tenho um campo string em uma tabela e gostaria de concatenar essas strings no select.

Exemplo:

create temp table nova (cod int, nome varchar(50));

insert into nova values (1,´melancia´);
insert into nova values (2,´vermelha´);
insert into nova values (3,´quitanda´);

select *from nova;

Resultado do Select:

cod nome
1 melancia
2 vermelha
3 quitanda

Gostaria de dar um select no campo nome e o resultado me retornasse assim:

nome
melancia vermelha quitanda

Se alguém souber..?? :idea:

Muito Obrigado..!!

Renato

Fernando Vilhena
|
MVP
Pontos: 20
    26 out 2010

if OBJECT_ID('tempdb..#nova') is not null drop table #novacreate table #nova(       cod int     , nome varchar(50));
insert into #nova values (1,'melancia');insert into #nova values (2,'vermelha');insert into #nova values (3,'quitanda');
select nome + ' 'from #novafor xml path('');
Você também pode utilizar a cláusula for xml path('') em uma subquery em outro select.
Ex:
Select id      , CampoConcatenado = (select nome + ' '                           from #nova                           where id = tab2.id                           for xml path('')); from tab2

Bom, espero ter ajudado.
 

Fernando Vilhena
|
MVP
Pontos: 20
    26 out 2010

ocorreu algum erro na hora de salvar, e o registro duplicou, mas a solução está na outra postagem acima.