Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JOIN - który użyć, INNER, LEFT, czy RIGHT
maciorrus
post 18.03.2014, 21:06:20
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.03.2014

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:56