gl0om
Новичок
Сложный запрос на 3 таблицы взрывает мой мозг
Здравствуйте.
Есть 3 таблицы:
1. Пользователи users (id, имя)
2. Принадлежность пользователя к категории userprofessions (id, uid - это id юзера, sid - это id категории)
3. Рейтинг пользователей userrate (id, uid - это id юзера, points - очки)
Задача:
Выбрать всех пользователей попадающих под какую то одну категорию и получить их рейтинг, сортировать по рейтингу по возрастанию.
Есть такой запрос:
Вобщем - это почти рабочий вариант, правда есть одно НО. Если за юзера никто не голосовал (таблица userrate не содержит записи с uid = id пользователя), то в выборку этот пользователь не попадает. А хотелось бы вывести всех, даже тех за кого не голосовали.
Реально ли сделать такой запрос? Или проще автоматом каждому пользователю ставить одну оценку по умолчанию и в потом ее в списках голосовавших не учитывать?
Здравствуйте.
Есть 3 таблицы:
1. Пользователи users (id, имя)
2. Принадлежность пользователя к категории userprofessions (id, uid - это id юзера, sid - это id категории)
3. Рейтинг пользователей userrate (id, uid - это id юзера, points - очки)
Задача:
Выбрать всех пользователей попадающих под какую то одну категорию и получить их рейтинг, сортировать по рейтингу по возрастанию.
Есть такой запрос:
PHP:
select users.*, sum(userrate.points) as summ
FROM users, userrate, userprofessions
WHERE users.id = userprofessions.uid and userprofessions.sid = $myrequest[2]
and users.id = userrate.uid
GROUP by users.id
ORDER by summ desc, id asc
Реально ли сделать такой запрос? Или проще автоматом каждому пользователю ставить одну оценку по умолчанию и в потом ее в списках голосовавших не учитывать?