Bases de Datos > SQL Server

 Sumar Campos con Condiciones

<< < (2/2)

DasGrun:
Necesito el DOCTYPE para una condicion, pero aun si se lo quito al GROUP BY me informa el error que tengo que ingresarlo.

Gracias

Shiquilla:
mmm, lo único que se me ocurre es que hagas esto:

He cambiado la agrupación para que: si DOCTYPE está entre de 5 ó 6 ponga un 1 y si es distinto ponga un 0, así sólo te devolverá dos filas por cada cliente, luego, sumarlo todo.


--- Código: SQL ---SELECT A.VENDORID, A.VENDNAME, SUM(A.FIELD_1) AS FIELD_1, SUM(A.FIELD_2) AS FIELD_2FROM (SELECT dbo.PM.VENDORID,     dbo.PM00.VENDNAME,     SALDO = SUM(CASE WHEN dbo.PM.DOCTYPE BETWEEN 5 AND 6 THEN 0 ELSE PM.CURTRXAM END) AS FIELD_1,     SALDO1 = SUM(CASE WHEN dbo.PM.DOCTYPE BETWEEN 5 AND 6 THEN dbo.PM.CURTRXAM * -1 ELSE 0 END) AS FIELD_2FROM dbo.PM INNER JOIN dbo.PM00 ON (dbo.PM.VENDORID = dbo.PM00.VENDORID)GROUP BY dbo.PM.VENDORID, dbo.PM00.VENDNAME, CASE WHEN dbo.PM.DOCTYPE BETWEEN 5 AND 6 THEN 1 ELSE 0 END) AGROUP BY A.VENDORID, A.VENDNAME 
Saludos,

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa