Задать вопрос
@Heinemann

Как получить несколько записей из связанной таблице?

Как получить данные из связанной таблицы, если связующая таблица содержит несколько связей? В данном случае у юзера несколько ролей. Запрос ниже работает в том случае, если у юзера одна роль, но как составить запрос, если у юзера их несколько?
SELECT * FROM users 
LEFT JOIN roles ON roles.id = (SELECT role_id FROM user_role WHERE user_id=users.id)
WHERE login='login' AND password='pass'
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT *
  FROM users AS u
  LEFT JOIN user_role AS ur ON ur.user_id = u.id
  LEFT JOIN roles AS r ON r.id = ur.roles_id
  WHERE u.login = :login
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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