Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/02/2008, 07:41
MarioHeredia
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años, 1 mes
Puntos: 3
Re: Generar Mes en Consulta

Ok mi amigo Ricardo de Peru, esto es lo que te propongo, es un poco larga pero no conozco otra y tiene sus limitaciones, pero para consultas mensuales te va a funcionar bien.

No importa la cantidad de dias tenga el mes, el resultado del select sera de 31 columnas mas dos columnas mas, una indicando el vuelo y otra indicando el mes que se consulto, porque esta ultima columna, porque viendo las columnas no puede deducir de que mes estamos haciendo referencia.

Una condicion importante es que no puede mostrar mas de un mes, o la mitad de uno y la mitad del otro (aunque en realidad si puedes, pero corres el riesgo que el resultado no se interprete).

Este pequeño desarrollo se hizo con PL/SQL.

Primero creamos una tabla con valores ficticios para poder luego armar el select.
Código:
DROP TABLE RICARDO_PERU PURGE;

CREATE TABLE RICARDO_PERU
(
VUELO        VARCHAR2(20),
FECHA        DATE,
CANTIDAD     INTEGER
) TABLESPACE AUXILIAR PCTFREE 5 PCTUSED 95;

INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('01.01.2008','DD.MM.YYYY'), 10);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('02.01.2008','DD.MM.YYYY'), 20);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('03.01.2008','DD.MM.YYYY'), 30);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('04.01.2008','DD.MM.YYYY'), 40);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('05.01.2008','DD.MM.YYYY'), 50);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('06.01.2008','DD.MM.YYYY'), 60);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('07.01.2008','DD.MM.YYYY'), 70);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('08.01.2008','DD.MM.YYYY'), 80);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('09.01.2008','DD.MM.YYYY'), 90);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('10.01.2008','DD.MM.YYYY'), 11);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('11.01.2008','DD.MM.YYYY'), 12);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('12.01.2008','DD.MM.YYYY'), 13);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('13.01.2008','DD.MM.YYYY'), 14);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('14.01.2008','DD.MM.YYYY'), 15);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('15.01.2008','DD.MM.YYYY'), 33);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('16.01.2008','DD.MM.YYYY'), 34);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('17.01.2008','DD.MM.YYYY'), 35);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('18.01.2008','DD.MM.YYYY'), 43);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('19.01.2008','DD.MM.YYYY'), 47);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('20.01.2008','DD.MM.YYYY'), 49);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('21.01.2008','DD.MM.YYYY'), 40);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('22.01.2008','DD.MM.YYYY'), 14);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('23.01.2008','DD.MM.YYYY'), 15);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('24.01.2008','DD.MM.YYYY'), 50);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('25.01.2008','DD.MM.YYYY'), 62);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('26.01.2008','DD.MM.YYYY'), 60);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('27.01.2008','DD.MM.YYYY'), 18);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('28.01.2008','DD.MM.YYYY'), 85);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('29.01.2008','DD.MM.YYYY'), 17);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('30.01.2008','DD.MM.YYYY'), 95);
INSERT INTO RICARDO_PERU VALUES ('LP-001',TO_DATE('31.01.2008','DD.MM.YYYY'), 89);

INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('01.01.2008','DD.MM.YYYY'), 110);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('02.01.2008','DD.MM.YYYY'), 120);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('03.01.2008','DD.MM.YYYY'), 130);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('04.01.2008','DD.MM.YYYY'), 140);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('05.01.2008','DD.MM.YYYY'), 150);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('06.01.2008','DD.MM.YYYY'), 160);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('07.01.2008','DD.MM.YYYY'), 170);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('08.01.2008','DD.MM.YYYY'), 180);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('09.01.2008','DD.MM.YYYY'), 190);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('10.01.2008','DD.MM.YYYY'), 111);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('11.01.2008','DD.MM.YYYY'), 112);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('12.01.2008','DD.MM.YYYY'), 113);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('13.01.2008','DD.MM.YYYY'), 114);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('14.01.2008','DD.MM.YYYY'), 115);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('15.01.2008','DD.MM.YYYY'), 133);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('16.01.2008','DD.MM.YYYY'), 134);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('17.01.2008','DD.MM.YYYY'), 135);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('18.01.2008','DD.MM.YYYY'), 143);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('19.01.2008','DD.MM.YYYY'), 147);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('20.01.2008','DD.MM.YYYY'), 149);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('21.01.2008','DD.MM.YYYY'), 140);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('22.01.2008','DD.MM.YYYY'), 114);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('23.01.2008','DD.MM.YYYY'), 115);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('24.01.2008','DD.MM.YYYY'), 150);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('25.01.2008','DD.MM.YYYY'), 162);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('26.01.2008','DD.MM.YYYY'), 160);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('27.01.2008','DD.MM.YYYY'), 118);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('28.01.2008','DD.MM.YYYY'), 185);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('29.01.2008','DD.MM.YYYY'), 117);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('30.01.2008','DD.MM.YYYY'), 195);
INSERT INTO RICARDO_PERU VALUES ('LP-002',TO_DATE('31.01.2008','DD.MM.YYYY'), 189);

COMMIT;