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

[SOLUCIONADO] suma el resultados de todos los datos devueltos

Estas en el tema de suma el resultados de todos los datos devueltos en el foro de SQL Server en Foros del Web. buenas tengo esta consulta select (TD.BRUTO - isnull((select SUM(CANTIDAD*VALORUNIT) from MVTRADE where TIPODCTONC in ('NC','NB','NU') and NUMFACTNC=TD.NRODCTO),0)) * (SELECT (PorcReca/100)FROM GS_Recaudo where (DATEDIFF(day,'2010-01-06','2010-01-06') between Desde ...
  #1 (permalink)  
Antiguo 01/04/2013, 07:42
Avatar de chris225  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 149
Antigüedad: 12 años
Puntos: 2
suma el resultados de todos los datos devueltos

buenas tengo esta consulta

select (TD.BRUTO - isnull((select SUM(CANTIDAD*VALORUNIT) from MVTRADE where TIPODCTONC in ('NC','NB','NU') and NUMFACTNC=TD.NRODCTO),0)) *
(SELECT (PorcReca/100)FROM GS_Recaudo where (DATEDIFF(day,'2010-01-06','2010-01-06') between Desde and Hasta))
* ((select (PorcReca/100) from GS_ConfEscal where Nombre=VE.NOMESCALAFON)) as total
from Trade as TD
inner join GS_Recaudo AS RC on RC.CodeVen = TD.CODVEN
inner join VENDEN AS VE ON VE.CODVEN = RC.CodeVen
left JOIN ABONOS AS AB on AB.FACTURA=TD.NRODCTO AND AB.TIPODCTOCA=TD.TIPODCTO
where TD.TIPODCTO in ('FU','FB','FC') and TD.CODCC=VE.CCOSTOS and VE.Interno=1
group by TD.BRUTO,TD.NRODCTO,VE.NOMESCALAFON
having sum(AB.VALOR)>=TD.BRUTO


y lo que necesito es que me sume el resultado de todos los resultados devuelto de esta consulta

intente sum para cada campo de cada subconsulta pero me tira error

Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

no se como hacer para que me sume todos lo resultados es solo una columna
  #2 (permalink)  
Antiguo 01/04/2013, 08:23
Avatar de leodp77  
Fecha de Ingreso: marzo-2013
Mensajes: 39
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: suma el resultados de todos los datos devueltos

Si creas una vista con ese codigo y haces

Código SQL:
Ver original
  1. SELECT SUM(total) FROM vVista

devuelve el mismo error?
__________________
"La mejor forma de obtener información correcta de los foros de internet es enviar algo incorrecto y esperar las correcciones"
-- Matthew Austern
  #3 (permalink)  
Antiguo 01/04/2013, 08:29
Avatar de chris225  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 149
Antigüedad: 12 años
Puntos: 2
Respuesta: suma el resultados de todos los datos devueltos

Cita:
Iniciado por leodp77 Ver Mensaje
Si creas una vista con ese codigo y haces

Código SQL:
Ver original
  1. SELECT SUM(total) FROM vVista

devuelve el mismo error?
ya lo intente y no funciono me trae error

La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.

de hecho esa consulta esta en una funcion y tengo otra funcion que la llama asi

(select sum(total) from GS_FN_CalcularComision (@pfecha,@pfecha1,VE.interno)) as comision
  #4 (permalink)  
Antiguo 01/04/2013, 09:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: suma el resultados de todos los datos devueltos

puedes poner un pequeño ejemplo de lo que regresa tu query?

ya probaste con esto

select campo1+campo2+campo3+campo4 from
(
tu query
) as t1
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 01/04/2013, 09:39
Avatar de chris225  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 149
Antigüedad: 12 años
Puntos: 2
Respuesta: suma el resultados de todos los datos devueltos

Cita:
Iniciado por Libras Ver Mensaje
puedes poner un pequeño ejemplo de lo que regresa tu query?

ya probaste con esto

select campo1+campo2+campo3+campo4 from
(
tu query
) as t1
ya logre reducir el numero de registros lo modifique solo en el where

select (TD.BRUTO - isnull((select (CANTIDAD*VALORUNIT) from MVTRADE where TIPODCTONC in ('NC','NB','NU') and NUMFACTNC=TD.NRODCTO),0)) *
(SELECT (PorcReca/100)FROM GS_Recaudo where (DATEDIFF(day, '2010-01-06','2010-01-07') between Desde and Hasta))
* (select (PorcReca/100) from GS_ConfEscal where Nombre=VE.NOMESCALAFON) as Total
from Trade as TD
inner join GS_Recaudo AS RC on RC.CodeVen = TD.CODVEN
inner join VENDEN AS VE ON VE.CODVEN = RC.CodeVen
left JOIN ABONOS AS AB on AB.FACTURA=TD.NRODCTO AND AB.TIPODCTOCA=TD.TIPODCTO
where TD.TIPODCTO in ('FU','FB','FC') and TD.CODCC=VE.CCOSTOS
and TD.Fecha>='2010-01-06' and TD.Fecha1<='2010-01-06'

devuelve

Total
1551.600000
88137.900000

asi que necesito que me sume estos 2 resultados
  #6 (permalink)  
Antiguo 01/04/2013, 09:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: suma el resultados de todos los datos devueltos

supongo que te regresa un resultado en 2 renglones cierto? porque no haces un

select sum(tu_campo) from(
tu query
) as t1 group by tu campo


saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 01/04/2013, 10:12
Avatar de chris225  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 149
Antigüedad: 12 años
Puntos: 2
Respuesta: suma el resultados de todos los datos devueltos

Cita:
Iniciado por Libras Ver Mensaje
supongo que te regresa un resultado en 2 renglones cierto? porque no haces un

select sum(tu_campo) from(
tu query
) as t1 group by tu campo


saludos!
si me funciono muchas gracias

Etiquetas: resultados, select, suma
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:41.