Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/09/2011, 14:26
MarioHeredia
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Respuesta: Sacar columna con totales en una query

No necesariamente necesitas usar subconsultas.
Lo que necesitas es implementar funciones de suma pero utilizando "funciones analiticas".

Código SQL:
Ver original
  1. SELECT ACTIVIDAD,
  2. VENTAS,
  3. SUM (VENTAS) OVER() TOTAL_VENTAS
  4. SUM (VENTAS) OVER(PARTITION BY ACTIVIDAD) TOTAL_POR_ACTIVIDAD
  5. SUM (VENTAS) OVER(PARTITION BY TRUNC(FECHA, 'DAY'), ACTIVIDAD) TOTAL_POR_ACTIVIDAD_POR_SEMANA
  6. FROM NOMBRE_TABLA

sin subconsultas, sin "group by" obtienes lo que necesitas.

TOTAL_VENTAS: es el total de ventas y no se particiona por actividad
TOTAL_POR_ACTIVIDAD: es el total de ventas y se particiona por actividad
TOTAL_POR_ACTIVIDAD_POR_SEMANA: es el total de ventas discriminada por actividad y por semana (si fuese necesario).

Estos son ejemplos de lo que puedes hacer jugando con el "PARTITION BY" que esta dentro del OVER.

Espero que haya sido de utilidad.
Exitos en tu resolucion.
Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.