Tema: Unir campos
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2011, 09:34
MarioHeredia
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Respuesta: Unir campos

Vega19,

Aqui te paso algunas sugerencias para que pruebes usando funciones analiticas:

Código SQL:
Ver original
  1. DROP TABLE UNIR_CAMPOS PURGE;
  2.  
  3. CREATE TABLE UNIR_CAMPOS
  4. ( FECHA_ENTRADA DATE,
  5.   FECHA_SALIDA  DATE,
  6.   PRECIO        NUMBER
  7. ) TABLESPACE AUXILIAR PCTFREE 5 PCTUSED 95;
  8.  
  9. INSERT INTO UNIR_CAMPOS VALUES (TO_DATE('02.10.1991', 'DD.MM.YYYY'), TO_DATE('03.10.1991', 'DD.MM.YYYY'), 1000);
  10. INSERT INTO UNIR_CAMPOS VALUES (TO_DATE('03.10.1991', 'DD.MM.YYYY'), TO_DATE('04.10.1991', 'DD.MM.YYYY'), 2500);
  11. INSERT INTO UNIR_CAMPOS VALUES (TO_DATE('05.10.1991', 'DD.MM.YYYY'), TO_DATE('05.10.1991', 'DD.MM.YYYY'), 3000);
  12. INSERT INTO UNIR_CAMPOS VALUES (TO_DATE('05.10.1991', 'DD.MM.YYYY'), TO_DATE('07.10.1991', 'DD.MM.YYYY'), 1450);
  13.  
  14. COMMIT;
  15.  
  16. SELECT FECHA_ENTRADA,
  17.        FECHA_SALIDA,
  18.        PRECIO,
  19.        SUM(PRECIO) OVER(PARTITION BY TRUNC(FECHA_ENTRADA, 'MONTH')) SUMA_MENSUAL_FECHA_ENTRADA,
  20.        SUM(PRECIO) OVER(PARTITION BY TRUNC(FECHA_SALIDA, 'MONTH')) SUMA_MENSUAL_FECHA_SALIDA,
  21.        SUM(PRECIO) OVER(PARTITION BY TRUNC(FECHA_ENTRADA, 'DAY')) SUMA_SEMANAL_FECHA_ENTRADA,
  22.        SUM(PRECIO) OVER(PARTITION BY TRUNC(FECHA_SALIDA, 'DAY')) SUMA_SEMANAL_FECHA_SALIDA      
  23.  FROM UNIR_CAMPOS;

El select suma por mes y por el campo fecha_entrada, suma tambien por mes y por el campo fecha_salida (no sabes si la salida se realizo el mismo mes que entro o fue otro).

Y los ultimas dos columnas, lo mismo que las mensuales pero en forma semanal.

Si tenes mas dudas, avisame.
Exitos.
Saludos,
Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.