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

Hacer query con Left Join

Estas en el tema de Hacer query con Left Join en el foro de Mysql en Foros del Web. Hola foreros, tengo una duda que ya la habia planteado pero no me quedo claro y no me hace bien al query. Por eso lo ...
  #1 (permalink)  
Antiguo 05/06/2011, 12:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 8
Antigüedad: 13 años, 4 meses
Puntos: 0
Exclamación Hacer query con Left Join

Hola foreros, tengo una duda que ya la habia planteado pero no me quedo claro y no me hace bien al query. Por eso lo "reposteo"

1.- Quiero que la query me devuelva los siguientes datos:

XTRA0 y memberName

2.- Esos datos son recogidos de todos los amigos del usuario (osea todos los XTRA0 solo te los amigos del usuario, no de todos los usuarios)

3.- Estas son las tablas a vincular:





TABLA DE USUARIOS


g_members
--------------
ID | memberName
--------------
1 | Juan
--------------
2 | Pedro
--------------
3 | Gustavo



---------------------------------------------------------------


TABLA DE AMIGOS (Donde dice quien es amigos de quien)


g_buddies
--------------------------------------------
ID | ID_USUARIO | AMIG_DE_QUIEN?
----------------------------------------
#1 | 2 | 1
----------------------------------------
#2 | 1 | 2
----------------------------------------
#3 | 1 | 3
----------------------------------------
#4 | 4 | 1
------------------------------------------


TABLA MENSAJES

g_mensajes
-----------------------------
ID | ID_MEMBER |XTRA0
-------------------------------
#1 | 1 | Texo #1...
-------------------------------
#2 | 3 | Texo #2...
-------------------------------
#3 | 1 | Texo #3...
-------------------------------
#4 | 2 | Texo #4...
-------------------------------



Ejemplo:
Me logeo como "Juan" (USER ID = 1)
y quiero que me devuevla todos los mensajes de la tabla g_mensajes pero SOLO AQUELLOS MENSAJES QUE SON DE MIS AMIGOS, OSEA TODOS LOS MENSAJES DE USUARIOS AMIGOS DEL USER_ID = 1 (en este caso juan)
  #2 (permalink)  
Antiguo 05/06/2011, 13:15
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Hacer query con Left Join

Puedes hacerlo así:

Código MySQL:
Ver original
  1. SELECT XTRA0, memberName
  2. FROM g_members INNER JOIN g_buddies ON g_members.ID = g_buddies.ID_USUARIO
  3. INNER JOIN g_mensajes ON g_members.AMIG_DE_QUIEN = g_mensajes.ID_MEMBER
  4. WHERE g_members.memberName = 'Juan'

Etiquetas: join, left, multiples, query, tablas
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 14:28.