[MySQL 5] Obteniendo los registros de fechas comunes

  • cancer10
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jun 29, 2006
  • Mensajes: 268
  • Status: Offline

Nota Diciembre 15th, 2010, 10:52 am

Hola peps,

Tengo una pregunta sobre un sistema de reservas hoteles habitación.

Por favor, eche un vistazo a la mesa de la sala.

Imagen

La siguiente es la tabla de orden:

Imagen




¿Qué consulta me trae la fecha (s) que tiene todas las habitaciones (8 en este caso) reservado en esa fecha?

Para este caso sería 2010-12-10 y 2010-12-20 , Ya que todos los 8 habitaciones han sido reservadas para la fecha.

Imagen




Por favor si alguien puede ayudarme?

Muchas gracias de antemano :)
Interview Questions & Answers - http://www.focusinterview.com
My Profile: http://outlineme.com/cancer10
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 15th, 2010, 10:52 am

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Diciembre 15th, 2010, 8:37 pm

Si la habitación no se pueden reservar más de una vez en el mismo día, algo como esto debería funcionar.

SQL Código: [ Select ]
SELECT date_booked, COUNT(room_id) AS rooms_booked
FROM bookings
WHERE rooms_booked = 8
GROUP BY date_booked;
  1. SELECT date_booked, COUNT(room_id) AS rooms_booked
  2. FROM bookings
  3. WHERE rooms_booked = 8
  4. GROUP BY date_booked;
Strong with this one, the sudo is.
  • cancer10
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jun 29, 2006
  • Mensajes: 268
  • Status: Offline

Nota Diciembre 15th, 2010, 8:54 pm

¡Hola!

Gracias por su respuesta.

Dado que el número de habitaciones puede variar, puede ser 10,20,30 etc, por lo que tengo que despedir a una consulta diferentes y averiguar el número y almacenarlo en una variable y luego ejecutar la consulta?

¿Te gusta este?
[CODE] y #46; y #46, donde rooms_booked = $ count [/ code]
Interview Questions & Answers - http://www.focusinterview.com
My Profile: http://outlineme.com/cancer10
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Diciembre 15th, 2010, 11:38 pm

Suena bastante bien. Probablemente se podría usar una subconsulta para obtener el número de la sala más grande, pero hay un montón de maneras que se puede quebrar si las habitaciones se eliminaron o algo así.

SQL Código: [ Select ]
SELECT date_booked, COUNT(room_id) AS rooms_booked
FROM bookings
WHERE rooms_booked = (SELECT room_id FROM rooms ORDER BY room_id DESC LIMIT 1)
GROUP BY date_booked;
  1. SELECT date_booked, COUNT(room_id) AS rooms_booked
  2. FROM bookings
  3. WHERE rooms_booked = (SELECT room_id FROM rooms ORDER BY room_id DESC LIMIT 1)
  4. GROUP BY date_booked;


Es probable que usted ya se va a tener que contar disponibles en otro lugar, por lo que el "= $ count" que tiene es probable que va a tener más sentido.
Strong with this one, the sudo is.
  • cancer10
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jun 29, 2006
  • Mensajes: 268
  • Status: Offline

Nota Diciembre 15th, 2010, 11:43 pm

Gracias hombre
Interview Questions & Answers - http://www.focusinterview.com
My Profile: http://outlineme.com/cancer10
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Diciembre 16th, 2010, 8:01 am

joebert escribió:
Suena bastante bien. Probablemente se podría usar una subconsulta para obtener el número de la sala más grande, pero hay un montón de maneras que se puede quebrar si las habitaciones se eliminaron o algo así.

SQL Código: [ Select ]
SELECT date_booked, COUNT(room_id) AS rooms_booked
FROM bookings
WHERE rooms_booked = (SELECT room_id FROM rooms ORDER BY room_id DESC LIMIT 1)
GROUP BY date_booked;
  1. SELECT date_booked, COUNT(room_id) AS rooms_booked
  2. FROM bookings
  3. WHERE rooms_booked = (SELECT room_id FROM rooms ORDER BY room_id DESC LIMIT 1)
  4. GROUP BY date_booked;


Es probable que usted ya se va a tener que contar disponibles en otro lugar, por lo que el "= $ count" que tiene es probable que va a tener más sentido.


Usted debe ser capaz de contar sólo el número total de habitaciones.

SQL Código: [ Select ]
SELECT date_booked, COUNT(room_id) AS rooms_booked
FROM bookings
WHERE rooms_booked = (SELECT COUNT(*) FROM rooms)
GROUP BY date_booked;
  1. SELECT date_booked, COUNT(room_id) AS rooms_booked
  2. FROM bookings
  3. WHERE rooms_booked = (SELECT COUNT(*) FROM rooms)
  4. GROUP BY date_booked;
#define NULL (::rand() % 2)
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Diciembre 22nd, 2010, 9:53 pm

Había una razón por la que decidió en contra de esto antes, la parodia, pero no puedo recordar lo que era en este momento. :scratchhead:
Strong with this one, the sudo is.

Publicar Información

  • Total de mensajes en este tema: 7 mensajes
  • Usuarios navegando por este Foro: Zealous y 123 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC