Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2015, 04:52
aeb_asturias
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: Problema al obtener número de registros agrupados por fecha

Ya resolví el problema. El tema de porqué no me salían las fechas con 0 reservas era porque estaba poniendo una condición dentro de la cláusula "where" de la consulta en vez de meterla dentro de la clausula "on" del Left Join. Al final, la consulta me queda algo como esto:
Código SQL:
Ver original
  1. SELECT calendario.DATE AS DIAS_RESERVAS, COUNT(reservas.ident) AS NUM_RESERVAS FROM calendario LEFT JOIN reservas ON calendario.DATE=DATE_FORMAT(reservas.fechareserva, '%Y-%m-%d')
  2. AND reservas.tipo=2
  3. WHERE calendario.DATE BETWEEN "2015-05-18" AND "2015-05-26"
  4. GROUP BY DIAS_RESERVAS


El problema que veo ahora es que la consulta es muy lenta (Me tarda más de 12 segundos). La tabla "calendario" sólo contiene un campo llamado "date" y contiene registros con valores que van desde "2010-01-01" hasta "2020-01-01". La tabla "reservas" en cambio puede tener sobre 500.000 registros.

Hay alguna manera de poder agilizar la consulta anterior??? Porque es poco viable esperar tanto tiempo :(