SQL - Problemas con SUM

 
Vista:

Problemas con SUM

Publicado por Milpin (9 intervenciones) el 06/11/2006 01:11:30
Hola tengo un problemon con un SUM para un reporte que tengo que entregar urgentemente y solo me falta saber como sacar esto, espero me puedan ayudar:: Tengo el siguiente SELECT::

select 4 as IdTemp, 'APORTACIONES CONTRIBUYENTE' as Concepto,
sum(pppcvesaldos.pptooriginal) as PptoOriginal,
isnull((Select Sum(importe) From pppadpptaldet a, pppadpptal b, pppcvedef c
where a.idadpptal = b.idadpptal and b.idcvedef= c.idcvedef and b.idconcestatusap
in (5,10) and a.idtipomovadpptal in (1,3,4,6)
and a.idclave = idclave and (a.mes between @MesIni and @mesFin) and
c.idcvedef=@IdCveDef),0) as AmpliacionAnual,
isnull((Select Sum(importe) From pppadpptaldet a, pppadpptal b, pppcvedef c
where a.idadpptal = b.idadpptal and b.idcvedef= c.idcvedef and
b.idconcestatusap in (5,10) and a.idtipomovadpptal in (5,2)
and a.idclave = idclave and (a.mes between @MesIni and @mesFin) and
c.idcvedef = @IdCveDef),0) as ReduccionAnual,

-----------???????????????aqui esta el problema????? AS AnualModificado

isnull((select sum(pptoejercido) from pppcvesaldos where mes = @mesAnterior),0) AS
EjercidoDefinitivo,
isnull((select sum(pptoejercido) from pppcvesaldos where mes between 1 and
@mesAnterior),0) AS AcumEjercidoDefinitivo,
isnull((select sum(pptotransferido + pptooriginal) from pppcvesaldos where mes =
month(current_timestamp)),0) AS ModificadoMes,
isnull((select sum(pptoejercido) from pppcvesaldos where mes =
month(current_timestamp)),0) AS EjercidoMes,
isnull((select sum(pptotransferido + pptooriginal) from pppcvesaldos where mes between 1
and month(current_timestamp)),0) AS AcumModificadoMes,
isnull((select sum(pptoejercido) from pppcvesaldos where mes between 1 and
month(current_timestamp)),0) AS AcumEjercidoMes
INTO #TablaTmp
FROM pppcvepptal INNER JOIN
absobjetogasto ON pppcvepptal.idobjetogasto = absobjetogasto.idobjetogasto INNER JOIN
pppcvesaldos ON pppcvepptal.idclave = pppcvesaldos.idclave
WHERE (SUBSTRING(pppcvepptal.clave, 23, 1) = 1) AND (pppcvesaldos.mes BETWEEN @MesIni AND @MesFin) AND
(absobjetogasto.objetogasto IN (1401,1403,1804,1805)) AND (pppcvepptal.iddependencia = @IdDependencia) AND (pppcvepptal.idcvedef = @IdCveDef)
GROUP BY SUBSTRING(pppcvepptal.clave, 23, 1), SUBSTRING(absobjetogasto.objetogasto, 1, 1), absobjetogasto.objetogasto,
absobjetogasto.descripcion

Todo esto se va insertanto en una tabla temporal, va con otros selects parecidos.

Alli donde senale, como AnualModificado debe de ir la suma de los 3 sum anteriores, (PptoOriginal+AmpliacionAnual+ReduccionAnual), el problema es que no se como hacerle para hacer esta suma. Habia intentado poner tal cual sum(sum1+sum2+sum3) pero me dice que no puedo poner un sum adentro de otro, luego intente con sum(select.....+select.....+select...) pero me dice que no puedo poner un select adentro de un sum, luego tambien intente declarando variables, declarando cada una a un sum y despues alli poniendole en AnualModificado sum(@var1+@var2+@var3) pero me marca error de que a una tabla temporal no se le pueden insertar variables o no se que, Entonces ya no se que hacer, no se como sacar el SUM para el AnualModificado, espero me puedan ayudar porfas, me urge demasiado.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder