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

Всем привет! Имеются две таблицы, Таблица А, и Таблица Б. В первой таблице структура такая: id, name, status. В таблице Б структура - id, parent_id, status. В таблица А все значения уникальные, у каждого свой ID. В таблице Б может быть сколько угодно одинаковых parent_id, которые указывают на id из таблицы А. А поле status во всех таблицах численное значение от 1 до 9, например. Так вот - нужно сделать JOIN таким образом, чтобы вывести все записи Таблицы А, отсортированными по полю статус таблицы Б. Надеюсь я понятно объяснил.. Повторюсь - в таблице Б может быть повторяющиеся parent_id
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

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