Buenos días sandrox23, cuando un id es asignado a más de una persona me supongo que no te importa cuál nombre se muestre, lo único que quieres es que no se repita el id correcto??? creo que lo puedes hacer así:
En primer lugar obtendrías 5 id's distintos de tu tabla, esto lo puedes hacer así
Código SQL:
Ver originalSELECT top 5 DISTINCT id FROM TuTabla WHERE id <> 0
Ahora, con esto lo que deberías es asignarle el nombre para cada id, el problema es que al tener una relación uno a muchos si lo haces con un INNER JOIN se duplicaría el registro. Sin embargo lo puedes hacer con una subconsulta, trayendo solo el TOP 1
Código SQL:
Ver originalSELECT top 1 R2.nombre FROM TuTabla R2
WHERE R2.id = 1234445556
ORDER BY newid()
Esta consulta te traería aleatoriamente los nombres de jorgito o colitox, que son los que tienen asignadas el id 1234445556. Ahora, si unes las dos ideas que te acabo de dar puedes generar una consulta así:
Código SQL:
Ver originalSELECT id, (
SELECT top 1 R2.nombre FROM TuTabla R2
WHERE R2.id = R1.id ORDER BY newid()
) AS nombre
FROM (SELECT Top 5 DISTINCT id FROM TuTabla) R1
ORDER BY newid()
Analízala un poco para ver si es lo que quieres, y si continuas con problemas lo comentas en el foro.
Saludos
Leo.