Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/07/2017, 06:19
imRicoh
 
Fecha de Ingreso: enero-2011
Mensajes: 49
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Referencia cruzada por dias

Bueno por el momento lo hice con un procedimiento almacenado para generar la consulta, pero no se si esta bien la logica


Código MySQL:
Ver original
  1. SELECT a.TipoID, a.Habitacion,
  2.           b.D01, b.D02, b.D03, b.D04, b.D05, b.D06, b.D07, b.D08, b.D09, b.D10,
  3.           b.D11, b.D12, b.D13, b.D14, b.D15, b.D16, b.D17, b.D18, b.D19, b.D20,
  4.           b.D21, b.D22, b.D23, b.D24, b.D25, b.D26, b.D27, b.D28, b.D29, b.D30,
  5.           b.D31, b.Total
  6.           FROM habitaciones_tipo a
  7.                       LEFT JOIN (SELECT
  8.                                 b.TipoID,
  9.                                 SUM(DAY(a.Fecha) =  1) D01,
  10.                                 SUM(DAY(a.Fecha) =  2) D02,
  11.                                 SUM(DAY(a.Fecha) =  3) D03,
  12.                                 SUM(DAY(a.Fecha) =  4) D04,
  13.                                 SUM(DAY(a.Fecha) =  5) D05,
  14.                                 SUM(DAY(a.Fecha) =  6) D06,
  15.                                 SUM(DAY(a.Fecha) =  7) D07,
  16.                                 SUM(DAY(a.Fecha) =  8) D08,
  17.                                 SUM(DAY(a.Fecha) =  9) D09,
  18.                                 SUM(DAY(a.Fecha) = 10) D10,
  19.                                 SUM(DAY(a.Fecha) = 11) D11,
  20.                                 SUM(DAY(a.Fecha) = 12) D12,
  21.                                 SUM(DAY(a.Fecha) = 13) D13,
  22.                                 SUM(DAY(a.Fecha) = 14) D14,
  23.                                 SUM(DAY(a.Fecha) = 15) D15,
  24.                                 SUM(DAY(a.Fecha) = 16) D16,
  25.                                 SUM(DAY(a.Fecha) = 17) D17,
  26.                                 SUM(DAY(a.Fecha) = 18) D18,
  27.                                 SUM(DAY(a.Fecha) = 19) D19,
  28.                                 SUM(DAY(a.Fecha) = 20) D20,
  29.                                 SUM(DAY(a.Fecha) = 21) D21,
  30.                                 SUM(DAY(a.Fecha) = 22) D22,
  31.                                 SUM(DAY(a.Fecha) = 23) D23,
  32.                                 SUM(DAY(a.Fecha) = 24) D24,
  33.                                 SUM(DAY(a.Fecha) = 25) D25,
  34.                                 SUM(DAY(a.Fecha) = 26) D26,
  35.                                 SUM(DAY(a.Fecha) = 27) D27,
  36.                                 SUM(DAY(a.Fecha) = 28) D28,
  37.                                 SUM(DAY(a.Fecha) = 29) D29,
  38.                                 SUM(DAY(a.Fecha) = 30) D30,
  39.                                 SUM(DAY(a.Fecha) = 31) D31,
  40.                                 SUM(1) Total
  41.                          FROM estadia_lineas a
  42.                               LEFT JOIN estadia b ON a.EstadiaID = b.EstadiaID
  43.                          WHERE a.Estado = 1 AND (a.Fecha BETWEEN tdDesde AND tdHasta)
  44.                          GROUP BY TipoID)  b
  45.                     ON a.TipoID = b.TipoID;