miker059
@miker059
Коротко не получится

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

Доброго времени суток, Друзья-товарищи!

Подскажите, пожалуйста, как составить такой вот запросик чисто на SQL, а также в Laravel в контроллере?
Задача такая, есть две таблички
1 таблица - Пользователи, в ней например столбцы - id, name, age(возраст), ref_id(id пользователя в этой же таблице, который над этим пользователем), group_id (какой группе принадлежит пользователь)
2-таблица - Группы, в ней столбцы - id, name

Ну и собственно нужно сделать такой запрос чтобы выбрать пользователей, у которых возраст больше чем у пользователя указанного у них в ref_id, при этом выбрать поля - name, age, а также указать имя группы к которой принадлежит этот пользователь.

примеры таблиц:
1 таблица:
  1. Петров | 22 | 0 | 1
  2. Иванов | 23 | 1 | 1
  3. Сидоров | 20 | 1 | 2
  4. Макеев | 24 | 2 | 1


2 таблица:
  1. Группа 1
  2. Группа 2
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
AK-VoronM
@AK-VoronM
"Мало-мало программист"
"SELECT u1.name, u1.age, g.name as group FROM users as u1 
LEFT JOIN users as u2 
ON u1.ref_id = u2.id 
LEFT JOIN group as g 
ON u1.group_id = g.id 
WHERE u1.age > u2.age"


Если с индексами все нормально, будет работать довольно быстро.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
4px Москва
от 100 000 до 150 000 руб.
Digital-агентство Nimax Санкт-Петербург
от 80 000 до 110 000 руб.
GOR
от 100 000 до 120 000 руб.
19 авг. 2018, в 12:12
40000 руб./в месяц
19 авг. 2018, в 11:19
5000 руб./за проект
19 авг. 2018, в 10:09
1000 руб./за проект