Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Amandita24

Dados de uma coluna em uma linha

Recommended Posts

Queria tirar uma dúvida. Tenho um sistema aqui que na consulta eu pego os telefones do cliente. Só que 1 cliente tem n telefones.Daí eu gostaria que a consulta me retornasse os números dos telefones em uma única linha. Para não ficar várias linha e repetições. Como posso fazer?? Alguém poderia me ajudar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma alternativa seria usar um while...

 

 

set nocount on--definindo a tabela de fonesdeclare @cliente_fone table (Cli_ID integer, fone_id integer, fone varchar(20))--inserindo os dadosinsert into @cliente_fone (Cli_ID, fone_id, fone) values (1, 1, '11 xxxx-yyyy')insert into @cliente_fone (Cli_ID, fone_id, fone) values (1, 2, '15 xxxx-zzzz')insert into @cliente_fone (Cli_ID, fone_id, fone) values (1, 3, '16 xxxx-kkkk')insert into @cliente_fone (Cli_ID, fone_id, fone) values (2, 4, '45 1111-kkkk')insert into @cliente_fone (Cli_ID, fone_id, fone) values (2, 5, '44 2222-kkkk')insert into @cliente_fone (Cli_ID, fone_id, fone) values (3, 6, '87 qqqq-7777')--definindo o clientedeclare @Cli_ID integerset @Cli_ID = 3--declarando e inicializando variavel @fones declare @fones varchar(8000)set @fones = ''--verificando os fonesdeclare @fone_id int select @fone_id = min(fone_id) from @cliente_fone where Cli_ID = @Cli_IDwhile @fone_id is not nullbegin	  select @fones = @fones  + case when @fones = '' then '' else ' --> ' end  + fone from @cliente_fone 	  where Cli_ID = @Cli_ID and fone_id = @fone_id 	  select @fone_id = min(fone_id) from @cliente_fone 	  where Cli_ID = @Cli_ID and fone_id > @fone_idend --mostrando os fones encontradosselect @fones as fones

 

falows

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.