@phpForeve

Как учитывать параметры дочернего компонента при сортировке данных?

Добрый вечер. Задача заключается в следующем. Есть список работников. У некоторых работников есть помощник. Помощника отличает наличие параметра trainer_id - ID работника, чьим помощником является данный работник.
У работников есть столбец, который отвечает за то, есть ли сотрудник на работе сегодня "is_work".

Нужно отобразить список работников, исключив из него список помощников (trainer_id = null). При этом, отсортировать их по признаку, есть ли они на работе. Учитывая то, что на работе может быть его помощник.

То-есть если сотрудника нет, но есть его помощник - считается, что сотрудник на работе.

Можно ответ как yf Mysql, так и yf RubyOnRails. Спасибо.
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 1
GEMOzloBIN
@GEMOzloBIN
Делай LEFT JOIN таблицы на саму себя и выбирай/сортируй как тебе надо.

Примерно так

SELECT w.* , IF(IFNULL(h.is_work, 0) = 0, w.is_work, h.is_work) as any_is_work
FROM table as w
LEFT JOIN table as h
ON w.id = h.trainer_id
where w.trainer_id is not null
ORDER BY any_is_work
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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