Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2015, 08:44
walleskamejias
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con suma y left joins

Buenos Días!

Espero estén bien.

Estoy estancada con una consulta sql que no logro sacar. y la consulta por acá a ver si me pueden echar una mano con esto.

Tengo 3 tablas
Notificaciones donde se guardan el código, la cantidad estimada, configurada y fecha de notificaciones
Contacto por evento, donde se guardan el código, cantidad de envíos, exitosos, expirados, no entregados, nulos y la fecha del evento.
Y por último la descripción del evento, donde guardo el código, la gerencia que solicita dicho evento y el costo

Código:
 Notificaciones
           - codigo
           - cantidad_estimada
           - configurada
           - fecha_notificacion
	
    Contacto_por_evento 
           - codigo
           - cantidad_envios 
           - cantidad_exitosos 
           - cantidad_expirados
           - cantidad_noentregados
           - cantidad_nulos
           - fecha_evento

    Descripcion_evento
           - codigo
           - gerencia
           - costo
Lo que trato de obtener es una consulta donde me liste la suma de la cantidad enviada y configurada de la tabla Notificaciones, más la suma de la cantidad de envíos, exitosos, expirados, no entregados y nulos de la tabla Contacto por evento, y que sean listados por la gerencia y la suma del costo por gerencia de la tabla Descripción evento

El query que tengo, me lista lo anterior, pero triplica la suma del costo del evento por Gerencia...

Código SQL:
Ver original
  1. SELECT B.GERENCIA AS GERENCIA,
  2.        SUM(B. COSTO) AS COSTO
  3.        SUM(A.CANTIDAD_CONF) AS CONFIGURADO,
  4.        SUM(C.TOTAL_ENVIOS) AS ENVIADOS,
  5.        SUM(C.TOTAL_EXITOSOS) AS EXITOSOS,
  6.        SUM(C.TOTAL_EXPIRADOS) AS EXPIRADOS,
  7.        SUM(C.TOTAL_NO_ENTREGADOS) AS NO_ENTREGADOS,
  8.        SUM(C.TOTAL_NULOS) AS NULOS,
  9.        SUM(A.CANTIDAD_EST) AS ESTIMADO
  10. FROM NOTIFICACIONES A
  11.      LEFT OUTER JOIN DESCRIPCION_EVENTO B ON A.CODIGO = B.CODIGO
  12.      LEFT OUTER JOIN CONTACTO_POR_EVENTO C ON A.CODIGO = C.CODIGO AND A.FECHA_NOTIF = C.FECHA_COMUNICACION
  13. WHERE DATEPART(MM,A.FECHA_NOTIF) = '10' AND DATEPART(YY,A.FECHA_NOTIF) = '2015' AND B.CANAL = 'SMS'
  14. GROUP BY B.GERENCIA

No entiendo por que triplica la suma del costo por gerencia.

Espero me puedan ayudar, gracias anticipadas.

Última edición por walleskamejias; 02/11/2015 a las 09:15 Razón: Mal etiquetado