Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2016, 20:01
omdsetenta
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 11 meses
Puntos: 4
Consulta compleja: INNER JOIN

Hace ya 3 horas que intento y nada. He buscado realmente referencias en internet, pero poco y nada.
Esta consulta es de 3 tablas: las claves están perfectamente relacionadas.

3 tablas: "alimentos_usuarios", "alimentos" y "guest" :

La tabla "alimentos" tiene la columna "id_alimentos" como clave primaria y las columnas nombre y kilocalorias.
La tabla "guest" tiene las columnas "id_guest" como clave primaria y otras columnas del usuario guest, como email y fecha.

La tabla alimentos_usuarios es la relación entre ambas tablas. Tiene las columnas "id_alimentos_usuarios" como clave primaria y las columnas "peso_alimentos_valor", "id_alimentos" y "id_guest", estas 2 ultimas como indices para crear adecuadamente la relación.

Hasta acá todo bien. El problema es que despues de esto:

Código MySQL:
Ver original
  1. peso_alimentos_valor, alimentos.nombre, alimentos.kilocalorias
  2. FROM alimentos INNER JOIN alimentos_usuarios ON
  3. (alimentos.id_alimentos = alimentos_usuarios.id_alimentos)
  4. INNER JOIN guest ON (guest.id_guest = alimentos_usuarios.id_guest) ORDER BY id_alimentos_usuarios ASC


Me tira todos los registros, de todos los guest, y yo quiero que me tire solo los registros del guest que contiene una fecha y un email especificamente y no de todos. Realmente debe ser problema de sintaxis, aunque no saltaerror.

En la última parte de la consulta
Código MySQL:
Ver original
  1. INNER JOIN guest ON (guest.id_guest = alimentos_usuarios.id_guest)
[/QUOTE]
Es donce le digo que quiero que el id_guest de la tabla guest sea el mismo que el id_guest de la tabla alimentos_usuarios, asi puedo discriminar el usuario que tenga determinado id_guest. La consulta no discrimina por guest y me tira todos los registros sin importar el guest.
Saludos y gracias por la ayuda de antemano.

Última edición por gnzsoloyo; 29/08/2016 a las 08:22