Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

necesito un empujon en una consulta

Estas en el tema de necesito un empujon en una consulta en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/04/2011, 17:39
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
necesito un empujon en una consulta

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?
  #2 (permalink)  
Antiguo 04/04/2011, 17:57
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: necesito un empujon en una consulta

se me ha iluminado la bombilla y he pensado la consulta que buscaba

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) AND usuarios_id != 1

no se muy bien como hago esto del sql pero lo hago...

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.