SQL Server - Problema al Sumar

   
Vista:

Problema al Sumar

Publicado por Ricardo (1 intervención) el 31/03/2013 18:44:01
Hola a todos espero que puedan ayudarme con mi problemita

tengo esta tabla

Numero de Documento------Codigo de Documento-----Total en Bs------Total

233------------------------------P00014-----------------------100---------------1

233------------------------------P00014-----------------------100---------------3

233------------------------------P00014-----------------------100---------------4

234------------------------------P00014-----------------------200----------------2

235------------------------------P00015-----------------------300-----------------1

236-----------------------------P00015-----------------------100------------------2

hic este query

(SELECT T0.DocNum,T0.[CardCode], T0.[DocTotal] as 'TOTAL EN BS' ,SUM(T1.[Quantity]) AS 'TOTAL' FROM ORPD T0 INNER JOIN RPD1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.[DocDate] >='20130101' and T0.[DocDate] <= '20130125'
GROUP BY T0.DocNum,T0.[CardCode],T0.[DocTotal])
ORDER BY T0.[CardCode]

que me arroja estos datos
(solo agrupa los Numero de Documentos y Suma los totales para que no salgan tantos resultados)
Numero de Documento------Codigo de Documento-----Total en Bs------Total

233------------------------------P00014-----------------------100---------------8

234------------------------------P00014-----------------------200----------------2

235------------------------------P00015-----------------------300-----------------1

236-----------------------------P00015-----------------------100------------------2

Ahora lo que yo quiro es eliminar la columna Numero de Documento (que es lo facil) y sumar los totales de los codigos que son iguales, e hic esto:

(SELECT T0.[CardCode], SUM(T0.[DocTotal]) as 'TOTAL EN BS' ,SUM(T1.[Quantity]) AS 'TOTAL' FROM ORPD T0 INNER JOIN RPD1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.[DocDate] >='20130101' and T0.[DocDate] <= '20130125'
GROUP BY T0.[CardCode])
ORDER BY T0.[CardCode]

pero el resultado muestra una sumatoria demasiado elevada debido a que hay multiples Numero de Documento y solo quiero que me sume 1 por cada Codigo de Documento repetido

lo que necesito es que me agrupe todos los codigos que sean iguales y me sume sus totales es un poco dificil de explicar por eso hic multiples tables para explicarlo

al final necesito es que me quede algo asi

ver 2da tabla

Codigo de Documento-----Total en Bs------Total

P00014-----------------------300---------------10

P00015-----------------------400-----------------3

ver 1era tabla

Pero me esta generando esto con este query

(SELECT T0.[CardCode], SUM(T0.[DocTotal]) as 'TOTAL EN BS' ,SUM(T1.[Quantity]) AS 'TOTAL' FROM ORPD T0 INNER JOIN RPD1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.[DocDate] >='20130101' and T0.[DocDate] <= '20130125'
GROUP BY T0.[CardCode])
ORDER BY T0.[CardCode]

Codigo de Documento-----Total en Bs------Total

P00014-----------------------500---------------10

P00015-----------------------400-----------------3

Es decir (por lo que entendi) si existes multiples Numeros de Documeto Iguales(ver 1era tabla del inicio del post) me esta sumando cada uno de ellos y yo solo quiero que lo haga con 1 por cada Numero de documeto



noc si me explico bien gracias espero que puedan ayudarme
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
Imágen de perfil de Isaias Islas Gonzalez

Problema al Sumar

Publicado por Isaias Islas Gonzalez (3182 intervenciones) el 01/04/2013 19:35:18
Si tu problema es CONTAR los numeros de documentos iguales, has una subconsulta

SELECT [Codigo de Documento], COUNT([Codigo de Documento])
FROM............(con su correspondiente filtro)

Este resultado, le pondras un AS TotalDocumentos y le haces un JOIN por el Codigo de Documento a tu query inicial
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar