@sk1987

Как объединить в один запрос?

Здравствуйте, подскажите кто знает.
Есть запрос грубо говоря: SELECT `поле1,`поле2`,`поле3` FROM `таблица1` WHERE `поле4` = '10';
И после этого запроса идет выборка:
SELECT `login` FROM `users` WHERE `id` = `поле2`;
SELECT `login` FROM `users` WHERE `id` = `поле3`;
Есть ли возможность объединить все в один запрос?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
SELECT
  table1.поле1,
  table1.поле2,
  table1.поле3,
  user1.login AS login1,
  user2.login AS login
FROM `таблица1` AS table1
  LEFT JOIN `users` AS user1 ON user1.id = table1.поле2
  LEFT JOIN `users` AS user2 ON user2.id = table1.поле3
WHERE table1.поле4 = '10';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
SELECT поле1, поле2, поле3, users_2.title as user_2_title, users_3.title as user_3_title
FROM таблица1
left join users as users_2 on  users_2.id = таблица1.поле2
left join users as users_3 on  users_3.id = таблица1.поле2
WHERE поле4 = '10';
Ответ написан
Комментировать
usdglander
@usdglander
Yipee-ki-yay
SELECT `login` FROM `users` WHERE `id` = `поле2`
UNION
SELECT `login` FROM `users` WHERE `id` = `поле3`;

Хотя можно просто
SELECT `login` FROM `users` WHERE `id` = `поле2` OR `id` = `поле3`;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы