Mam następujące statusy zleceń: nowe, odebrane, w naprawie, oczekuje na decyzję, gotowe do odbioru.
Udało mi sie już zrobić statystyki typu ile jest zgłoszeń z każdym z tych statusów. Zastosowałem poniższy kod:
SELECT T1.id_status, T2.STATUS, count(T1.id_status) AS 'liczba' FROM orders T1, STATUS T2 WHERE T1.id_status = T2.id GROUP BY id_status";
Teraz chciałbym zrobić statystykę mówiące ile jest gotowych zleceń a ile nie gotowych.
Gotowe to te ze statusami: odebrane i gotowe do odbioru
Niegotowe to cała reszta.
Macie pomysł na jakieś zgrabne zapytanie SQL najlepiej, żeby w wyniku otrzymać np.
niegotowe 7
gotowe 115
Jak sensownie przerobić powyższy kod?
Na obecną chwilą wymyśliłem coś takiego:
SELECT "gotowe", count(*) AS 'liczba' FROM orders WHERE id_status=5 OR id_status=6 OR id_status=9 OR id_status=10 UNION SELECT "niegotowe", count(*) AS 'liczba' FROM orders WHERE id_status=1 OR id_status=2 OR id_status=3 OR id_status=4 OR id_status=8
Niestety jak na mój gust to rozwiązanie za ładne nie jest.