ms sql - różnica dwóch funkcji agregujących na tej samej tabeli

0

Cześć
Znowu pojawiam się z prośbą o pomoc bo męczę już z 2 godziny i nic mi z tego nie wychodzi.

Mam 2 tabele

PozycjeDokumentu
IDTowaru	Ilosc	IDDokumentu
1			100		1
1			150		2
1			250		3
2			25		4
3			50		5


Dokumenty
IDDokumentu	Kierunek
1			Przychod
2			Przychod
3			Rozchod
4			Przychod
5			Rozchod

Chodzi o to żeby w rezultacie uzyskać wynik:

IDTowaru (Przychody-Rozchody)
1		0
2		25
3		-50

Ogólnie będzie to trochę bardziej zagmatwane, ale jakoś nie mogę wyjść z progu :) Jak bym nie próbował to mi zły wynik wychodzi.

2
select 
  p.idtowaru, 
  sum(case when d.kierunek  = 'Przychod' then 1 else -1 end) * ilosc) ilosc 
from 
  pozycjedokumentu p 
  left join dokument d on d.iddokumentu = p.iddokumnetu
0

RE WE LA CJA :) Działa jak na należy.
Do jutra bym nad tym siedział i chyba bym nie wydumał, zupełnie w innym kierunku szedłem.
Dziękuję Ci dobry człowieku, niech Ci Bozia w dzieciach wynagrodzi :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1