У меня возникли проблемы с созданием SQL-запроса, чтобы показать категории и подкатегории из одной таблицы. У меня есть следующие столбцы:показать категории и подкатегории в порядке
category_id
category_name
category_parent
category_order
В основном то, что я хочу, чтобы произвести в результате что-то вроде этого
parent category 1
sub category 1
sub category 2
parent category 2
sub category 1
sub category 2
sub category 3
parent category 3
sub category 1
если category_order установлен в 0, категории или подкатегории должны быть отсортированы на основе порядок, в котором они были созданы. Для этого я планирую сортировать по id.
если возможно, я хочу использовать UNION, чтобы они уже были в порядке, и мне просто нужно было бы петли. может кто-нибудь помочь мне построить запрос для этого.
Фактически у меня уже есть тот, который использует JOIN, но результат не такой точный, как то, что я хочу.
это мой предыдущий запрос:
SELECT
fcat.id fcat_id,
fcat.name fcat_name,
fcat.order fcat_order,
fcat.parent fcat_parent,
fsub.id fsub_id,
fsub.name fsub_name,
fsub.order fsub_order,
fsub.parent fsub_parent
FROM forum_categories AS fcat
LEFT OUTER JOIN forum_categories AS fsub ON fcat.id = fsub.parent
ORDER BY ISNULL(fcat.order) ASC, fcat.id ASC, ISNULL(fsub.order) ASC, fsub.id ASC
однако, не сортирует подкатегорий, поскольку родительские категории и подкатегории соединяются. мой запрос только сортирует родителя.
Можете ли вы опубликовать ваш JOIN запрос? Что случилось с этим? –
Является ли глубина дерева ограниченным только 2, как в вашем примере? – TMS
А глубина дерева ограничена? – TMS