Bitone le envio un estado de cuenta al saldo final necesito restarle esa
nota credito NC DOBLE FACTURACION, POR $ 11.900,
(1,4,6,7) Son los Debe, (2,3,5,8) son los Haber, asi tengo varios clientes
no lo puedo hacer uno por uno
"BitOne®" <nemirlabopaz@hotmail.com> escribió en el mensaje
news:OTX$GMMCHHA.4060@TK2MSFTNGP03.phx.gbl...
Hola William Garcia:
aqui te expongo un pequeño ejemplo a modo de ilustracion para que puedas
ver
las formas en que puedes obtener tu resultado
y determines cual te combiene mas.
OJO: No lo ejecutes en un server de produccion y si es de produccion
serciorate de que estos datos no existan ni tablas ni nada por el estilo.
go
set nocount on
if object_id('document','U') is not null
drop table document
go
/************* creo un tabla para la prueba ********************/
create table document (
abocod int,
docimp money,
doctpo int,
fecha datetime
)
go
/*
bitone no se si me haga entender esta consulta me da el saldo total, ahora
lo que necesito es que a ese saldo me reste las notas credito doctpo='3'
si
tiene ingresadas despues del 30/08/2006
*/
/********** Inserto registros de prueba *******************/
insert into document values ( 01, 100.00, 1,'20060816')
insert into document values ( 01, 110.00, 2,'20060817')
insert into document values ( 01, 120.00, 3,'20060818')
insert into document values ( 01, 130.00, 4,'20060819')
insert into document values ( 02, 140.00, 5,'20060820')
insert into document values ( 02, 150.00, 6,'20060821')
insert into document values ( 02, 160.00, 7,'20060822')
insert into document values ( 02, 170.00, 8,'20060823')
insert into document values ( 03, 180.00, 1,'20060824')
insert into document values ( 03, 190.00, 2,'20060825')
insert into document values ( 03, 200.00, 5,'20060826')
insert into document values ( 03, 210.00, 6,'20060827')
insert into document values ( 04, 220.00, 7,'20060828')
insert into document values ( 04, 230.00, 8,'20060829')
insert into document values ( 04, 240.00, 3,'20060901')
insert into document values ( 04, 250.00, 3,'20060902')
go
set nocount off
go
/************* Realizo el calculo que tu deseas para que puedas ver las
notas de credito de cada factura o ducumento
/************* Coloco en una columna las notas de credito y en otra
columna
el monto de las facturas neto
/************* y la tercera columna obtiene un subquery para mostrarte el
total de las ventas
select abocod,
Sum(case
when fecha > '20060830' And doctpo = 3 then 0
else docimp
end) [MontoTotal], --Saca el Total de cada factura
Sum(case
when fecha > '20060830' And doctpo = 3 then -docimp
else 0
end) [NotaCredito], -- Saca notas de credito
(select sum(case when fecha > '20060830' And doctpo = 3 then -docimp
else docimp end) from document) Total -- Saca Total de la Factura con las
notas de credito rebajadas.
From document
Group by abocod
go
Sobre el resultado nos comentas.
Saludos,
BitOne®
PD: Puedes exponer siempre tus preguntas o cumentario a cualquiera de
nosotros aqui en el grupo. :)
"William Garcia" <wigamu@gmail.com> wrote in message
news:uAjMoTLCHHA.4908@TK2MSFTNGP03.phx.gbl...
bitone no se si me haga entender esta consulta me da el saldo total,
ahora
lo que necesito es que a ese saldo me reste las notas credito doctpo='3'
si
tiene ingresadas despues del 30/08/2006
Select A.abocod, Sum(saldo) From (select abocod, sum(docimp) as saldo
from document where doctpo in (1,4,6,7)
Group by abocod
union all
select abocod, sum(docimp) * -1 from document where doctpo in (2,3,5,8)
Group by abocod) A Group by
A.abocod
Leer las respuestas