|
Дерево. Каким запросом вывести всю цепочку?
|
|||
---|---|---|---|
#18+
Всё в одной таблице (MDB файл). Такие поля: ID, ParentID, Name Хочется, используя запрос, получить список взаимосвязанных ID. Или это вообще невозможно в Аксессе? Что-то ничего в голову не приходит:) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2009, 03:29 |
|
Дерево. Каким запросом вывести всю цепочку?
|
|||
---|---|---|---|
#18+
...если количество уровней ограничено, то Left Join таблицы с самой собой если - неограничено, то ИМХО - только функцией в VBA зы такая задача в древовидн.структурах, слишком часто возникает, поэтому у себя, для каждого узла дерева, делаю поле, типа ВесьПутьУзла - .....ID родителя родителя\ID родителя\ID узла и при вставке/обновлении - устанавливаю это поле но это в адп, в тригере ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2009, 08:53 |
|
Дерево. Каким запросом вывести всю цепочку?
|
|||
---|---|---|---|
#18+
"Весь путь узла" позволяет очень быстро решать задачи поиска всех потомков, цепочки наверх до самого корня и т.п. Если практическая губина дерева ограничена (скажем, 10 уровнями) то вполне можно собрать в юнион 10 аналогичных запросов (в каждый добавляя на одну таблицу больше). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2009, 09:03 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1635072]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 155ms |
0 / 0 |