o! tego mi było trzeba

SELECT uzytkownicy.id, id_uzytkownika, id_graf, miesiac,
FROM `graf` , `uzytkownicy`
WHERE uzytkownicy.id = graf.id_uzytkownika
AND id_graf IN (SELECT MAX( graf.id_graf) FROM graf, uzytkownicy WHERE uzytkownicy.id=graf.id_uzytkownika AND id_uzytkownika=uzytkownicy.id GROUP BY id)
GROUP BY uzytkownicy.id
ORDER BY nazwisko ASC
teraz śmiga jak ta lala

to jeszcze jedno pytanie
SELECT uzytkownicy.id, id_uzytkownika, id_graf, miesiac,
FROM `graf` , `uzytkownicy`
WHERE uzytkownicy.id = graf.id_uzytkownika
AND id_graf IN (SELECT MAX( graf.id_graf) FROM graf, uzytkownicy WHERE uzytkownicy.id=graf.id_uzytkownika AND id_uzytkownika=uzytkownicy.id GROUP BY id)
GROUP BY uzytkownicy.id
ORDER BY nazwisko ASC
To zapytanie zwraca tylko uzytkownikow ktorzy maja najwieksze id_graf.
Musiałem je troche zedytowac i wyglada teraz tak
SELECT uzytkownicy.id, id_uzytkownika, id_graf, miesiac,
FROM `graf` , `uzytkownicy`
WHERE uzytkownicy.id = graf.id_uzytkownika
AND id_graf IN (SELECT MAX( graf.id_graf) FROM graf, uzytkownicy WHERE uzytkownicy.id=graf.id_uzytkownika AND id_uzytkownika=uzytkownicy.id AND miesiac=201109 GROUP BY id)
GROUP BY uzytkownicy.id
ORDER BY nazwisko ASC
I w takim przypadku zwroci mi tylko uzytkownikow, ktorzy maja wpisana jakas wartosc id_graf.
Jak zmodyfikowac zapytanie aby wyswietlic wszystkich uzytkownikow ktorzy maja max(id_graf) oraz tych ktorzy nie maja wpisanej zadnej wartosci?
Probowalem INNER JOIN'em ale nie wyswietla mi tych "pustych" uzytkownikow :/
SELECT uzytkownicy.id, id_uzytkownika, id_graf, miesiac,
FROM `graf` , `uzytkownicy`
WHERE uzytkownicy.id = graf.id_uzytkownika
OR id_graf IN (SELECT MAX( graf.id_graf) FROM graf, uzytkownicy WHERE uzytkownicy.id=graf.id_uzytkownika AND id_uzytkownika=uzytkownicy.id AND miesiac=201109)
GROUP BY uzytkownicy.id
ORDER BY nazwisko ASC
Wstawilem OR zamiast AND, teraz wysweitla mi wszystkich uzytkownikow z IDmax oraz pozostalych z pierwszym lepszym ID.
Także jeżeli nie wpadne na inny pomysl to zabezpiecze to przez PHP zeby sprawdzal czy aktualne ID jest MAX i w przeciwnym wypadku wyswietlal stosowne informacje.
Chyba ze mi podpowiecie jak uzyskac informacje z MySQL z wszystkimi danymi a dla uzytkownikow ktorzy nie maja w danym miesiacu MAX(id) wyswietlalo NULL lub pusta komorke?