Zapytanie z sumowaniem

0

Cześć wam, Stanąłem na chyba błahym problemie.
Opis dla uproszczenia, są dwie tabele, uzytkownicy - z danymi użytkowników i czas która zawiera identyfikator uzytkownika, datę, identyfikator okresu (od 1 - 24 to półgodzinne okresy w jakich są rozliczani użytkownicy) i identyfikator projektu do którego ten okres jest przypisany - to tak z grubsza.
Potrzebuje dowiedzieć się ile okresów czasu łącznie przepracowali wszyscy użytkownicy.
Zmajstrowałem takie oto zapytanie :

SELECT
uzytkownicy.*,
SUM(IF(czas.okres > 0, 0.5, 0)) AS godziny
FROM
uzytkownicy
LEFT JOIN czas ON uzytkownicy.login = czas.pracownik
GROUP BY
uzytkownicy.login

I to działa ładnie, zwraca mi wszystkich użytkowników. Ci którzy pracowali maja to zliczone, ci co nie pracowali maja ładny null.
Chcę zawęzić zliczanie czasu tylko do bieżącego miesiąca więc dodaje taki where:

SELECT
uzytkownicy.*,
SUM(IF(czas.okres > 0, 0.5, 0)) AS godziny,
FROM
uzytkownicy
LEFT JOIN czas ON uzytkownicy.login = czas.pracownik
WHERE
MONTH(czas.data) = MONTH('2016-06-01') AND YEAR(czas.data) = YEAR('2018-06-01')
GROUP BY
uzytkownicy.login

I ci którzy nic nie pracowali w tym miesiącu wypadają mi z wyniku :/
Coś utknąłem i nie mogę tego ruszyć

Pomocy :)
Torin

2

Zamień WHERE na AND.

0
Marcin.Miga napisał(a):

Zamień WHERE na AND.

Wiedziałem że to musi być coś prostego - DZIĘKI!
Niech ci Bóg w darmowych piwach wynagrodzi ! ;)

Torin

1 użytkowników online, w tym zalogowanych: 0, gości: 1