SQL somando e diminuindo

Firebird

19/06/2006

bom dia pessoal, sou novo neste forum, e gostaria da ajuda de voces.

tenho o seguinte problema, tenho 4 tabelas quero somar 2 delas e as outras duas diminuir das somadas, seria assim

tblitens
codItem
desItem

tblEntrada tblEntrTransfe
codItem coditem
qtd qtd

essas duas serao somadas conforme o codigo do item

tblSaida tblSaiTransfe
codItem codItem
qtd qtd
essas duas serao somadas conforme o codigo do item

feito a soma entre as tabelas gostaria de saber o saldo que me resta entre as saidas e as entradas.

estava fazendo desta maneira mas nao sei como proseguir.
select i.coditem ,i.desitem,
(Select Sum(nvi.qtde) from nota_venda_itens nvi where i.coditem=nvi.coditem) as notaVenda,
(Select Sum(ntsi.qtde) from nota_transf_it ntsi where i.coditem=ntsi.coditem and ntsi.entsai= ´S´) as notaTransSaida,
(Select Sum(nei.qtde) from notaentrada_itens nei where i.coditem=nei.coditem ) as notaEntrada,
(Select Sum(ntei.qtde) from nota_transf_it ntei where i.coditem=ntei.coditem and ntei.entsai= ´E´) as notaTransEntrada
from itens i
order by i.coditem


Agradeco a ajuda.


Vieira.jean

Vieira.jean

Curtidas 0

Respostas

Adrinei

Adrinei

19/06/2006

Fiz outro código, provavelmente precisará adaptações...

select i.coditem, i.desitem,
sum(s.qtde)+sum(t1.qtde) as SAIDA,
sum(e.qtde)+sum(t2.qtde) as ENTRADA,
(sum(s.qtde)+sum(t1.qtde))-(sum(e.qtde)+sum(t2.qtde)) as SALDO
from itens i
join nota_transf_it t1 on (i.coditem=t1.coditem) -- Transf de Saída
join nota_transf_it t2 on (i.coditem=t2.coditem) -- Transf de Entrada
join nota_venda_itens s on (i.coditem=s.coditem)
join notaentrada_itens e on (i.coditem=e.coditem)
where ((t1.entsai= ´S´) and (t2.entsai= ´E´))


GOSTEI 0
POSTAR