PDA

Просмотр полной версии : База данных - Access


Starling
24.10.2002, 15:36
Есть таблица Parent в базе данных

ID-----ParentID-----ParentName
0--------0-----------Главная1
1--------0-----------Главная2
2--------1-----------Дочерняя1
3--------2-----------ДочерняяДочерняя1
4--------1-----------Дочерняя2
5--------0-----------Главная3

Надо данные из таблицы вывести по порядку в виде дерева:

Главная 1
Главная 2
----------Дочерняя1
--------------------ДочеряяДочерняя1
----------Дочерняя2
Главная 3

Как это лучше(проще) всего сделать? Количество уровней от 3 до 5.
Можно это сделать каким-то хитрым запросом или писать скрипт? Как? 6 вложенных циклов?


Проект горит, помогите кто чем может, ссылками, идеями...
Спасибо

DmitryLV
31.10.2002, 00:28
В общем-то не очень понятно, как ты хочешь выводить данные, но есть кое-что в самом Access. Если у тебя стоит Access 2000, то для наглядности создай пустую базу данных Blank Data Base, а затем запусти Мастера по созданию панелей переключателей (меню Tools->Database Utilities->Switchboard Manager), выполни его полностью и посмотри, что он натворит (таблицу, форму ...). Помоему это нечто похожее на то что тебе надо.

Starling
31.10.2002, 00:37
Спасибо за идею, обязательно гляну. На пока, я решил эту проблему вот таким кодом. Не гибко, но пока работает.

SELECT t1.ParentName, t2.ParentName, t3.ParentName
FROM (Parents AS t1 LEFT JOIN Parents AS t2 ON t1.ID=t2.ParentID) LEFT JOIN Parents AS t3 ON t2.ID=t3.ParentID
WHERE t1.ParentID=0;