Witam, mam taką tabelę (w uproszczeniu):
Id | IdProd | Data | Przychod | Rozchod |
---|---|---|---|---|
1 | 1 | 2016-03-08 | 5 | - |
2 | 1 | 2016-03-09 | - | 2 |
3 | 1 | 2016-04-03 | 2 | - |
4 | 1 | 2016-04-06 | - | 3 |
Mam zrobić raport na koniec miesiąca w postaci: | ||||
IdProd | stan pocz. z poprzed. mies | przychody | rozchody | stan końcowy |
---------------- | ---------------- | ---------------- | ---------------- | ---------------- |
1 | 3 | 2 | 3 | 2 |
Stan początkowy pobieram tak: |
SELECT IdProd,sum(Przychod)-sum(Rozchod) Stan pocz. from test where Data < '2016-04-01' group by IdProd
Obroty pobieram tak:
SELECT IdProd,SUM(Przychod)P, SUM(Rozchod)R FROM test WHERE Data BETWEEN '2016-04-01' and '2016-04-30' group by IdProd
Stan końcowy pobieram tak:
SELECT IdProd,sum(Przychod)-sum(Rozchod) Stan kon. from test group by IdProd
Nie wiem natomiast jak to wszystko złączyć w jedno polecenie sql aby baza zwróciła wynik w jednym wierszu.