W dużym skrócie - mamy 2 tabele:
produkty:
| ID | ilosc | warosc |
rozchody:
| ID | ID_produktu | ilosc | data |
Teraz chciałbym policzyć stan magazynu czyli produkty, których suma rozchodów jest mniejsza niż ilość początkowa.
SELECT p.ilosc, SUM( r.ilosc ) AS "Rozchód", SUM( p.ilosc ) / COUNT( p.ilosc ) AS "SUMA", SUM( p.ilosc ) / COUNT( p.ilosc ) - SUM( r.ilosc ) AS "Stan obecny" FROM { OJ rozchody r RIGHT OUTER JOIN produkty p ON r.ID_produktu = p.ID } GROUP BY p.ilosc
Teraz wyniki -
Rozchód pokazuje ok, dla produktów które nie mają rozchodów jest 0 (right join)
SUMA ok - wartość taka sama jak dla ilosc
Stan obecny - tutaj pojawia się problem, mianowicie dla produktów które mają rozchody liczy dobrze, ale dla tych które rozchodów nie mają pokazuje 0. Dlaczego tak się dzieje? Jak zrobić, żeby było dobrze?
Dzięki za pomoc!