primero paso a explicar el contenido
tengo las siguientes tablas
usuarios:
usuarios_id
usuarios_nombre
relaciones:
amistad_id
amistad_us1
amistad_us2
las realaciones svincularian 2 usuarios, en una columna la id de un usuario y en otra la id del otro, podria terminar con algo asi
4|1
1|3
1|5
5|1
6|1
(con muchos mas entremedias pero nos centraremos en las relaciones del 1 que son las que importan)
ahora resulta que quiero obtener los nombres de todos los usuarios que mantengan relacion con 1
probando esta consulta
SELECT a.*,u.usuarios_id,u.usuarios_nombre
FROM amistades a INNER JOIN usuarios u
ON a.amistades_us1=u.usuarios_id
WHERE amistades_us1=1 or amistades_us2=1
obtengo mas o menos lo que deseo solo que se muestra el nombre del usuario que esté en la columna us1 siempre
si modifico la consulta asi
SELECT a.*,u.usuarios_id,u.usuarios_nombre
FROM amistades a INNER JOIN usuarios u
ON a.amistades_us1=u.usuarios_id or a.amistades_us2=u.usuarios_id
WHERE amistades_us1=1 or amistades_us2=1
me muestra cada pareja dos veces la primera vez muestra siempre el mobre del usuario1 (que no us1) y el segundo siempre es el nombre del relacionado y si soy sincero no entiendo porqué.
¿ Algún alma caritativa sabría explicarme que estoy consultando realmente en la 2ª consulta?