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

Как выбрать и отсортировать данные из двух таблиц с JOIN?

Всем привет! Имеются две таблицы, Таблица А, и Таблица Б. В первой таблице структура такая: id, name, status. В таблице Б структура - id, parent_id, status. В таблица А все значения уникальные, у каждого свой ID. В таблице Б может быть сколько угодно одинаковых parent_id, которые указывают на id из таблицы А. А поле status во всех таблицах численное значение от 1 до 9, например. Так вот - нужно сделать JOIN таким образом, чтобы вывести все записи Таблицы А, отсортированными по полю статус таблицы Б. Надеюсь я понятно объяснил.. Повторюсь - в таблице Б может быть повторяющиеся parent_id
  • Вопрос задан
  • 147 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Arik
Может как то так
ASC
SELECT
    a.*,
    b.*
FROM
    `tbl_1` AS a
LEFT JOIN
    `tbl_2` AS b
ON
    a.`id` = b.`parent_id`
GROUP BY
    a.`id`
ORDER BY
    MIN(b.`status`) ASC

DESC
SELECT
    a.*,
    b.*
FROM
    `tbl_1` AS a
LEFT JOIN
    `tbl_2` AS b
ON
    a.`id` = b.`parent_id`
GROUP BY
    a.`id`
ORDER BY
    MAX(b.`status`) DESC
Ответ написан
Ваш ответ на вопрос

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

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