Mam tabele w SQLite:
Budzet(IDBudzet, IDRozdzial, IDParagraf, … ) klucz gł. IDBudzet
Rozdzial(IDRozdzial, IDDzial, … ) klucz gł. IDRozdzial
Dzial(IDDzial, …) klucz gł. IDDzial
Paragraf(IDParagraf, … ) klucz gł. IDParagraf
ZminaBudzet(IDZmianaBudzet, IDBudzet, KwotaZmiana, … ) klucz gł. IDZmianaBudzet
Rezerwacja(IDRezerwacja, IDBudzet, KwotaRezerwacja, … ) klucz gł. IDRezerwacja
Chcę uzyskać zestawienie w postaci tabeli:
Kolunmy tabeli:
Dział = IDDzial
Rozdział = IDRozdzial
Paragraf = IDParagraf
Plan=TOTAL(ZmianaBudzet.KwotaZmiana)
Rezerwacja=TOTAL(Rezerwacja.KwotaRezerwacja)
Pozostaje = Plan - Rezerwacja
Utworzone zapytanie nie daje prawidłowych wyników.
Dla Paragrafu w określonym dziale i rozdziale wartości Total zwiększone są o wielokrotność dokonanych dla nich rezerwacji.
SELECT Rozdzial.IDDzial AS Dział,
Budzet.IDRozdzial AS Rozdział,
Budzet.IDParagraf AS Paragraf,
TOTAL(ZmianaBudzet.KwotaZmiana) AS PlanKwota,
TOTAL(Rezerwacja.KwotaRezerwa) AS Rezerwa,
TOTAL(ZmianaBudzet.KwotaZmiana) - TOTAL(Rezerwacja.KwotaRezerwa) AS Pozostaje
FROM Budzet
INNER JOIN
Rozdział ON Rozdział.IDRozdzial = Budzet.IDRozdzial
INNER JOIN
Dział ON Dział.IDDzial = Rozdział.IDDzial
INNER JOIN
Paragraf ON Paragraf.IDParagraf = Budzet.IDParagraf
LEFT JOIN
ZmianaBudzet ON ZmianaBudzet.IDBudzet = Budzet.IDBudzet
LEFT JOIN
Rezerwacja ON Rezerwacja.IDBudzet = Budzet.IDBudzet
GROUP BY Rozdzial.IDDzial,
Budzet.IDRozdzial,
Budzet.IDParagraf
Proszę o pomoc.