Boas Mestres, é o seguinte eu queria fazer o seguinte eu tenho uma tabela parecida com a de baixo Nome | telefone| Ana | 923424| Ana |2342342| Pedro | 542342| Pedro | 342424| andre | 4234234| eu queria fazer um select para ficar Nome | telefone| Ana | 923424 , 2342342| Pedro | 542342,342424| andre | 4234234| Eu já tentei um codigo que topei na net, vou deixar aqui : declare @telefone varchar(25)
declare @aux varchar(200)
declare @Nome varchar(200)
set @aux = ''
DECLARE CurNome CURSOR FOR
SELECT DISTINCT nome FROM #Temp OPEN CurNome
FETCH NEXT FROM CurNome INTO @ContactName
WHILE @@FETCH_STATUS = 0
BEGIN DECLARE CurTelefone CURSOR FOR
SELECT Nome,telefone FROM #temp WHERE nome=@nome
OPEN CurTelefone
FETCH NEXT FROM telefone INTO @nome,@telefone
WHILE @@FETCH_STATUS = 0
BEGIN IF @aux = ''
BEGIN SET @aux = @telefone
END
ELSE
BEGIN SET @aux = @aux+ ',' + @telefone
END
FETCH NEXT FROM CurTelefone INTO @Nome,@telefone
END
CLOSE CurTelefone
DEALLOCATE CurTelefone
INSERT INTO #Temp VALUES (@Nome,@aux)
SET @aux = ''
FETCH NEXT FROM CurNome INTO @Nome
END
CLOSE CurNome
DEALLOCATE CurNome Depois de correr isto o que me aparece é : Ana | 923424 , 2342342| Ana | 923424| Ana |2342342| Pedro | 542342,342424| Pedro | 542342| Pedro | 342424| andre | 4234234| O que eu queria era se alguém me podia ajudar o que tenho de fazer no meu codigo para não aparecer os campos a negrito. Se alguém conhecer uma soluçao que não envolva tabelas temporarias e cursores e me puder dizer agradecia. Obrigado