@Artem0071
Безработный mr. Junior

Как составить запрос?

Есть 2 таблицы:
users(user_id, user_name)
games(game_id, user_id, user_id_moderator)

Как видно, в games 2 разных пользователя должны подсоединиться по запросу

Пробовал вот так:
select * from games  join users on games.user_id = users.user_id left outer join users on games.user_id_moderator = users.user_id


Но выдает:
Not unique table/alias: 'users'

Как правильно соединить?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 2
0xD34F
@0xD34F
Ну, ошибка как бы намекает, что надо задать таблице users псевдонимы. Как иначе различать users из разных джоинов? Как-то так:

SELECT *
FROM games
JOIN users u1 ON games.user_id = u1.user_id
LEFT OUTER JOIN users u2 ON games.user_id_moderator = u2.user_id
Ответ написан
Комментировать
longclaps
@longclaps
Сопоставь сообшение об ошибке со своим запросом: ты дважды обращаешься к таблице , и бд не может разобрать, что и в каком порядке джойнить.
Надо назначить таблице псевдонимы, напр users AS gamers и users AS moderators, и радоваться.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы