Witam,
Mam następujący problem. Pewnie banał dla doświadczonych MySql-owców, ale ja szukałem po forach i nadal nie potrafię tego zrobić.
Mam trzy tabele:
users (id, imie, nazwisko)
skills (id, name)
rating (id, user_id, skill_id, rating)
Porzebuję zadać zapytanie MySql, żeby wywaliło mi, mówiąc w skrócie, skills-y userów. Problem w tym, że muszą być posortowane wg pola rating (malejąco). Może się zdarzyć, że są userzy, którzy nie mają skillsów i wtedy powinno też wypluć takiego użytkownika, a w polach skill, rating pojawić się wartości null. Czyli np:
Imie Nazwisko Skill Rating
Jan Kowalski szykosc 5
Malgosia Kowalska sila 3
Adam Nieudacznik null null
Myślałem o takim rozwiązaniu:
SELECT users.imie, users.nazwisko, skill.name, rating.rating FROM users INNER JOIN skills INNER JOIN rating ON rating.user_id=users.id AND rating.skill_id=skills.id ORDER BY rating.rating DESC
Działa nieźle, ale nie wyświetla użytkowników bez skilli. Proszę o pomoc. Mam nadzieję, że w miarę dokładnie opisałem o co dokładnie mi chodzi.