Мне трудно вычислить запрос, который отсортирует мою таблицу по столбцу из другой таблицы, а также отсортирует ее по столбцу из самой таблицы.
Предположим, у меня есть две таблицы: TableA(id, name, b_id)
иTableB(id, name)
. Я пытаюсь создать запрос так, чтобы я мог выводить строки в TableA
, упорядоченные по TableB.name
и TableA.name
.
Например:
TableA
------
1 A4 11
2 A2 12
3 A3 13
4 A1 11
TableB
------
11 B1
12 B2
13 B3
Expected Output
---------------
4 A1 11
1 A4 11
2 A2 12
3 A3 13
Чтобы упорядочить строкипо TableB.name
сработало следующее:
SELECT * FROM TableA WHERE b_id IN (SELECT id FROM TableB);
(Wrong) Output
--------------
1 A4 11
4 A1 11
2 A2 12
3 A3 13
А для получения порядка строк по TableA.name
сработало следующее:
SELECT * FROM TableA ORDER BY name;
(Wrong) Output
--------------
4 A1 11
2 A2 12
3 A3 13
1 A4 11
Как объединить два запроса, чтобы получить результат, подобный приведенному выше «Ожидаемый результат»?