Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/01/2010, 15:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: SQL que me devuelta el listado de dias entre dos fechas

No hay una consulta que te pueda devolver eso. Las consultas se realizan sobre tablas o sobre funciones y/u operaciones sobre parámetros realizadas en el SELECT, pero no realizan procesos iterativos.
Para hacer lo que quieres necesitas un STORED PROCEDURES que genere esa información, ya que la información en si no existe en tablas o en parámetros.
Lo que necesitas es algo así:
Código MySQL:
Ver original
  1. DELIMITER $$
  2.  
  3. DROP PROCEDURE IF EXISTS `DIAS_PERIODO` $$
  4. CREATE PROCEDURE `DIAS_PERIODO`(IN DESDE DATE, IN HASTA DATE)
  5.   DECLARE FIN INT DEFAULT 0;
  6.   DECLARE DIA DATE;
  7.   SET DIA = DESDE;
  8.   CREATE TEMPORARY TABLE DIAS(FECHA DATE);
  9.   CICLO1: REPEAT
  10.     SET DIA = ADDDATE(DIA, INTERVAL 1 DAY);
  11.     SET FIN = FIN + 1;
  12.     INSERT INTO DIAS VALUES(DIA);
  13.   UNTIL DIA = HASTA END REPEAT CICLO1;
  14.   SELECT * FROM DIAS;
  15. END $$
  16.  
  17. DELIMITER ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)