Mam 3 tabele:
sprzet: id_sprzetu, nazwa, indeks, JIM, ilosc
pomieszczenia: id_pomieszczenia, nr_pomieszczenia, opis
lok_sprzetu: id_l_s, id_sprzet, id_pom, iloscloksprzetu, uwagi
W tabeli sprzet mam informacje ile sprzętu i w jakiej ilości mam na stanie (obciążeniu).
W tabeli lok_sprzetu mam dane jaki sprzęt w jakiej ilości znajduje sie w danym pomieszczeniu.
Mam raport gdzie porównuję czy mam zgodnośc z ilością sprzetu z obciążenia (tabela sprzet) a tym co jest w pomieszczeniach.
Np: w tabeli sprzet mam 22 szt. komputerów na stanie a w pomieszczeniach: nr 12 - 1, nr 22 - 12. Lub jakieś ewentualne nadstany.
Zapytanie wygląda tak:
SELECT nazwa, ilosc, razem, COALESCE(ilosc,0)-COALESCE(razem,0) roznica FROM jos_sprzet s LEFT JOIN (SELECT id_sprzet, SUM( iloscloksprz ) razem FROM jos_lok_sprzetu GROUP BY 1 ) x ON s.id_sprzetu = x.id_sprzet
Próbuję dodać jeszcze jedną informację w wyświetlanej tabeli. Chciałbym aby była informacja na podstawie danych- "stan zgodny" lub "stan niezgodny" (przy różnicy). Kiedyś stosowałem switch case, ale w tabeli miałem dodatkowe pole id. Nie wiem za bardzo jak to ugryźć.