Mam problem z pozornie prostym zapytaniem
Mam dwie tabele:
uzyszkodnicy
--------------
id | nazwa
zdjecia
--------
id | user_id | nr
Chce pobrac liste wszystkich uzyszkodnikow i id pierwszego zdjecia (o najmniejszym nr) jesli wogole jakies posiada (czyli left join). Doszedlem do czegos takiego:
SELECT u.id, u.nazwa, z.id, MIN(z.nr) FROM users AS u LEFT JOIN zdjecia AS z ON z.user_id = u.id GROUP BY z.id
czy takie zapytanie jest optymalne?
probowalem inaczej:
SELECT u.id, u.nazwa, z.id, z.nr FROM users AS u LEFT JOIN zdjecia AS z ON z.user_id = u.id GROUP BY z.id HAVING z.nr = MIN(z.nr)
Ale niestety to zapytanie nie zwraca mi uzyszkodnikow ktorzy wogole nie posiadaja zdjec.
Jakies pomysly, sugestie?
Pozdrawiam