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

Consulta enorme de sql

Estas en el tema de Consulta enorme de sql en el foro de Mysql en Foros del Web. ¿Alquien sabría explicarme con palabras lo que hace esta consulta de sql? Código PHP: SELECT habitacion .*  FROM habitacion LEFT JOIN reservas ON habitacion . numero = reservas . numero  WHERE  habitacion ...
  #1 (permalink)  
Antiguo 10/06/2011, 11:54
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 4 meses
Puntos: 1
Consulta enorme de sql

¿Alquien sabría explicarme con palabras lo que hace esta consulta de sql?

Código PHP:
SELECT habitacion.* FROM habitacion LEFT JOIN reservas ON habitacion.numero=reservas.numero 
WHERE 
habitacion
.numero NOT IN (
SELECT numero FROM reservas WHERE 
'$fechainicio' BETWEEN fecha_inicio AND fecha_fin 
OR '$fechafin' BETWEEN fecha_inicio AND fecha_fin
OR fecha_inicio BETWEEN '$fechainicio' AND '$fechafin'
OR fecha_fin BETWEEN '$fechainicio' AND '$fechafin'
GROUP BY numero
)
ORDER BY RAND() LIMIT 1 
Básicamente me gustaría saber perfectamente como funciona el LEFT JOIN de las dos primeras líneas, con eso bien entendido, me apaño con el resto, gracias! ;)
  #2 (permalink)  
Antiguo 10/06/2011, 12:03
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Consulta enorme de sql

Ese left join busca datos en una tabla relacionada a la que declaras en FROM. Pero cada vez que haces un join, tenes que declarar una "bisagra", es decir, mediante qué columna se van a mezclar las dos tablas. Generalmente es por una FOREIGN KEY.

Etiquetas: sql
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 16:20.