Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Sergei Zabelich                      2:5020/400     21 Feb 2001  14:12:25
 To : All
 Subject : Re: Еще раз о древовидных структурах.
 -------------------------------------------------------------------------------- 
 
 Sh Sergey пишет в сообщении <3a91064d@digi8.pi.net.ua> ...
 
 >Тут уже обсуждался этот вопрос, я хотел поставить задачу более строго и
 >ограничено.
 >
 >Дано:
 >    Таблица имеет ссылку на себя.
 >
 >    PrimaryKey    fkUpLevel    Info
 >----------------------------------------------------------------
 >    1                      NULL           Node_1_Level_0
 >    2                      1                   Node_1_Level_1
 >    3                      2                   Node_1_Level_2
 >    4                      2                   Node_2_Level_2
 >    5                      1                   Node_2_Level_1
 >    6                      5                   Node_3_Level_2
 >    7                      5                   Node_4_Level_2
 >    8                      NULL           Node_2_Level_0
 >
 >В виде дерева:
 >
 >Node_1_Level_0
 >    Node_1_Level_1
 >        Node_1_Level_2
 >        Node_2_Level_2
 >    Node_2_Level_1
 >        Node_3_Level_2
 >        Node_4_Level_2
 >Node_2_Level_0
 >
 >Вопрос:
 >    Существует ли один SELECT который построит результат в виде
 >
 >    PrimaryKey    Level    Info
 >----------------------------------------------------------------
 >    1                      0           Node_1_Level_0
 >    2                      1           Node_1_Level_1
 >    3                      2           Node_1_Level_2
 >    4                      2           Node_2_Level_2
 >    5                      1           Node_2_Level_1
 >    6                      2           Node_3_Level_2
 >    7                      2           Node_4_Level_2
 >    8                      0           Node_2_Level_0
 >
 >Главное, как мне кажется, вычислить поле Level!!!
 Всех проблем поле Level не снимает. Как отобрать записи одним запросом
 зависит от сервера. В InterBase я создавал дополнительную табличку со всеми
 связями между узлами, которую заполнял из триггеров основной таблички.
 Другой способ - использовать процедуры.
 
 --
 Sergei Zabelich, <zabelich@tut.by>
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Еще раз о древовидных структурах.   Sh Sergey   19 Feb 2001 15:44:00 
 Re: Еще раз о древовидных структурах.   Stas Zoubarev   20 Feb 2001 13:57:25 
 Re: Еще раз о древовидных структурах.   Sergei Zabelich   21 Feb 2001 14:12:25 
Архивное /su.dbms.sql/8977e3216d72.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional