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

Consulta Join entre tablas

Estas en el tema de Consulta Join entre tablas en el foro de Mysql en Foros del Web. Os pongo las tablas y luego os explico Cervezas cerveza id_cerveza Cervezas_comidas id_cerveza id_comida Comida comidas id_comidas Y la consulta que quiero montar es: partiendo ...
  #1 (permalink)  
Antiguo 04/06/2010, 14:04
 
Fecha de Ingreso: abril-2006
Mensajes: 104
Antigüedad: 18 años
Puntos: 0
Consulta Join entre tablas

Os pongo las tablas y luego os explico

Cervezas
cerveza
id_cerveza

Cervezas_comidas

id_cerveza
id_comida

Comida
comidas
id_comidas

Y la consulta que quiero montar es: partiendo de un id_cerveza, dime las coincidencias de Cervezas y Cervezas_comidas, y de esas coincidencias, busca las coincidencias de la columna id_comida de Cervezas_comidas, y la columna comida de la tabla Comidas en función del id_comida.

O dicho en cristiano, a partir de una cerveza ver que comida tiene asociada.

Muchas gracias por su ayuda.

PD: supongo que no hace falta decirlo pero llevo poco con esto de Mysql y quiero aprender a hacer consults con los JOIN, yo generá esta consulta

SELECT comidas.comida
FROM cervezas, cervezas_comidas LEFT JOIN cervezas
ON cervezas_comidas.id_cerveza = cervezas.id_cerveza
LEFT JOIN comidas
ON cervezas_comidas.id_comida=comidas.comida
ORDER BY comidas.comida

Pero parece que no anda muy acertada. Saludos y gracias por su tiempo.
  #2 (permalink)  
Antiguo 04/06/2010, 15:00
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consulta Join entre tablas

Código SQL:
Ver original
  1. SELECT
  2. co.comida
  3. FROM
  4. cervezas ce
  5. LEFT JOIN
  6. cervezas_comidas cc
  7. ON
  8. cc.id_cerveza = ce.id_cerveza
  9. LEFT JOIN
  10. comidas co
  11. ON cc.id_comida=co.id_comidas
  12. ORDER BY co.comida

así?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/06/2010, 23:58
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta Join entre tablas

Para aprender a usar los joins y saber en que momento usar uno u otro te recomiendo que veas este link:
http://www.codinghorror.com/blog/200...sql-joins.html

Por otro lado, lo que haria yo es un select que incluya tanto a la cerveza como a la comida, de otra manera te dara un listado de comidas al que no sabes que cerveza esta asociada.
Tambien lo ordenaria por cervezas ya que es el campo por el que estoy entrando a buscar
Algo asi:

SELECT comidas.comidas, cervezas.cerveza
FROM cervezas JOIN comidas_cervezas ON cervezas.id_cervezas = comidas_cervezas.id_cerveza
JOIN comidas ON comidas.id_comidas = comidas_cervezas.id_comidas
ORDER BY cervezas.cerveza ASC

Saludos

Etiquetas: join, 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 04:25.