Я занимаюсь тестовым интернет-магазином, в котором есть разделы внутри разделов. Может быть неограниченное количество уровней, поэтому у меня всего одна таблица Section
.
Таблица имеет следующие столбцы:
SectionID, SectionTitle, SectionLevel, ParentID, PageOrder
SectionLevel: 1 - самый верхний (без родителя)
PageOrder: в родительской группе, в каком порядке он должен идти.
А для данных испытаний:
SectionID SectionTitle SectionLevel ParentID PageOrder
--------- ------------ ------------ -------- ---------
2 Ladies 1 0 2
3 Mens 1 0 3
4 Jewellery 2 2 1
5 Clothing 2 2 2
6 Clothing 2 3 1
7 Accessories 2 3 2
Я хочу вернуть эти данные в одну таблицу, чтобы первый раздел верхнего уровня был первым, а затем - все его дочерние разделы, а затем второй раздел верхнего уровня и т. Д.
У меня была игра с этим, но я не могу выйти правильно. Я думаю, что это можно было бы сделать, если я изменил дизайн таблицы, но не могу придумать, как это сделать.
Данные должны возвращаться в следующем порядке:
SectionID SectionTitle SectionLevel ParentID PageOrder
--------- ------------ ------------ -------- ---------
2 Ladies 1 0 2
4 Jewellery 2 2 1
5 Clothing 2 2 2
3 Mens 1 0 3
6 Clothing 2 3 1
7 Accessories 2 3 2