Это мой первый пост, я пытаюсь сделать таблицу дерева sql, которая проходит. Например, если человек нажимает на раскрывающийся список под названием «Категории», он отображает «Электрический» и «Интер». Затем, если пользователь нажмет на электрическое устройство, он выведет реле и переключатели, а затем, если человек нажмет на реле, он упадет на X-реле, и если человек нажимает на переключатели, он будет сбрасывать Y-переключатели. Я сделал попытку ниже, но часть, которую я не понимаю, - это если у меня есть другая категория InterC, как я могу сделать это еще один уровень выпадающих списков?SQL Tree/Иерархические данные
Таблица Категория
insert test select 1, 0,'Electric'
insert test select 2, 1,'Relays'
insert test select 3, 1,'Switches'
insert test select 5, 2,'X Relays'
insert test select 6, 2,'Y Switches'
insert test select 7, 0,'InterC'
insert test select 8, 1,'x Sockets'
insert test select 9, 1,'y Sockets'
insert test select 10, 2,'X Relays'
insert test select 11, 2,'Y Relays'
;
create table test(id int,parentId int,name varchar(50))
WITH tree (id, parentid, level, name) as (
SELECT id, parentid, 0 as level, name
FROM test WHERE parentid = 0
UNION ALL
SELECT c2.id, c2.parentid, tree.level + 1, c2.name
FROM test c2
INNER JOIN tree ON tree.id = c2.parentid
)
SELECT *
FROM tree
order by parentid
Microsoft SQL Server – turb03D