У меня есть 2 отношения: таблицы и таблицы. Одна таблица может быть в одной таблице, а одна таблица содержит несколько таблиц.
Мне нужен выбор, который возвращает следующий вывод:
Все таблицы из tablegroup с sortid 0 → таблицы, снова отсортированные по их sortid
и т.д. для всех таблиц.
Возможно ли это в Sql (Mysql dbms)?
Таблица
table_id, name, pax, createdate, lastupdate, tablegroup_id, sort_id,
'2', 'tisch 02', '6', NULL, NULL, '1', '3'
'3', 'tisch 03', '4', NULL, NULL, '1', '1'
'4', 'tisch 04', '2', NULL, NULL, '1', '2'
'5', 'tisch 05', '8', NULL, NULL, '1', '4'
'6', 'tisch 101', '4', NULL, NULL, '2', '1'
'7', 'tisch 102', '6', NULL, NULL, '2', '2'
'8', 'stube 01', '2', NULL, NULL, '3', '2'
'9', 'stube 02', '3', NULL, NULL, '3', '1'
Tablegroups
tablegroup_id, name, notiz, color, customer_id, sort_id, visible
'1', 'garten', NULL, '1', '1', '2', '1'
'2', 'lounge', NULL, '2', '1', '3', '1'
'3', 'stube', '', '7', '1', '1', '1'
Ожидаемый результат:
'stube 01'
'stube 02'
'tisch 03'
'tisch 04'
'tisch 05'
'tisch 101'
'tisch 102'
Внутренняя table
соединений и tablegroups
в общей tablegroup_id
и ORDER BY
sort_id
из tablegroups
а затем sort_id
table
.
SELECT t.name
FROM table t
INNER JOIN tablegroups tg
ON tg.tablegroup_id = t.tablegroup_id
ORDER BY tg.sort_id,
t.sort_id;
SELECT t.name FROM table t ORDER BY t.name;
ближе к результату, даже если логика зависит только от одной таблицы. т.е. вопрос недостаточно ясен.
table
сортировались сначала в порядке связанногоtablegroup
сортировки группыtablegroup
, а затем во втором порядке по идентификатору сортировкиtable
?