Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
nombre VARCHAR(20),
direccion VARCHAR(20),
telefono VARCHAR(20)
)
INSERT INTO #temp VALUES (15,'Alfonso',NULL,NULL)
INSERT INTO #temp VALUES (94,'Alfonso','conocida','55555')
SELECT * FROM(
SELECT t1.id,
t1.nombre,isnull(t1.direccion,t2.direccion) dir,isnull(t1.telefono,t2.telefono) tel
FROM #temp AS t1
RIGHT JOIN #temp AS t2 ON (t1.nombre=t2.nombre)
) AS t1 WHERE dir IS NOT NULL AND tel IS NOT NULL GROUP BY id,nombre,dir,tel
No se si esto es lo que quieres.....