Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Unir campos

Estas en el tema de Unir campos en el foro de Oracle en Foros del Web. Wenas tengo un problema ..tengo los siguientes campos Fecha_Entrada----Fecha Salida------PRECIO 10/02/1991------10/03/1991------1000 10/03/1991------10/04/1991------2500 10/05/1991------10/05/1991------3000 10/05/1991------10/07/1991------1450 La consulta es : Como ago para el precio total por ...
  #1 (permalink)  
Antiguo 26/11/2011, 19:31
 
Fecha de Ingreso: febrero-2010
Mensajes: 117
Antigüedad: 14 años, 2 meses
Puntos: 0
Busqueda Unir campos

Wenas tengo un problema ..tengo los siguientes campos

Fecha_Entrada----Fecha Salida------PRECIO
10/02/1991------10/03/1991------1000
10/03/1991------10/04/1991------2500
10/05/1991------10/05/1991------3000
10/05/1991------10/07/1991------1450

La consulta es :

Como ago para el precio total por meses ?
__________________
¿Cuántos analistas de sistema se necesitan para cambiar una bombilla de luz?
- Ninguno, esto es un problema de hardware.
  #2 (permalink)  
Antiguo 29/11/2011, 09:34
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
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.

Etiquetas: campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:26.