Comunidad de diseño web y desarrollo en internet online

Productos disponibles

Citar            
MensajeEscrito el 22 Ago 2011 03:40 am
Hola a todos,

Hoy vengo a ustedes con una duda que si me esta deteniendo un poco en mi trabajo... estoy desarrollando un sistema para la renta de equipo, en el cual se pueden llevar uno o varios equipos por ciertos días, la base de datos esta resuelta de esta forma:

Tabla equipo

idequipo
Número de serie
Descripcion


Tabla prestamo

idprestamo
fecha_inicio
fecha_fin


tabla prestamo_has_equipo

idequipo
idprestamo


Realmente si lo que necesitara saber fuera que equipos tengo prestados para x o y día no habría mayor problema PERO debo sacar los equipos disponibles para ciertas fechas, es decir, un cliente quiere rentar 3 equipos durante 2 días para dentro de un mes, necesito saber exactamente que equipos tengo disponibles para esos dos días.

Cualquier duda o sugerencia, incluso sobre la estructura de la base de datos sera muy bien recibida.

Saludos

Por RodManMx

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Ago 2011 09:19 pm
lo que debes ahcer, es hacer una busqueda de equipos disponibles, usando las fechas de inicio y fin

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Ago 2011 04:53 am
Bueno pues ya logre encontrar la respuesta a la interrogante, la respuesta que me proporciono tuadmin estaba bien pero a medias, en efecto debía sacar los equipos ya rentados para las fechas de la búsqueda para poder sacar los que no estaban en renta el query es algo así:

Código:
SELECT eq.idequipo, eq.numero_serie
FROM equipo eq, prestamo_has_equipo pe
WHERE eq.idequipo = pe.equipo_idequipo
AND eq.idequipo NOT IN(
SELECT he.equipo_idequipo AS idequipo
FROM prestamo pr, prestamo_has_equipo he
WHERE pr.idprestamo = he.prestamo_idprestamo
AND pr.fecha_inicio <= '2011-09-05'
AND pr.fecha_fin >= '2011-09-01'
);
Como ven el secreto de lo que buscaba es el NOT IN

Saludos, y espero le sirva a alguien más

Por RodManMx

3 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.