
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.08.2002, 11:20:23
|
|||
|---|---|---|---|
|
|||
Найти непосредств.родителя в табл. вложенных множеств |
|||
|
#18+
В таблице-дереве, построенной по принципу вложенных множеств) id lft rgt name никак не могу составить запрос, с помощью которого можно было найти непосредственного родителя некоторого узла (: Мож, хто подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.08.2002, 12:21:03
|
|||
|---|---|---|---|
Найти непосредств.родителя в табл. вложенных множеств |
|||
|
#18+
id - id обьекта lft - указатель на что?(предидущего) rgt - указатель на ?(потомка) name или как ,а то простите не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.08.2002, 12:27:33
|
|||
|---|---|---|---|
Найти непосредств.родителя в табл. вложенных множеств |
|||
|
#18+
статья Joe Celko http://sdm.viptop.ru/articles/sqltrees.html или на http://ib.demo.ru/develop.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.08.2002, 13:16:56
|
|||
|---|---|---|---|
Найти непосредств.родителя в табл. вложенных множеств |
|||
|
#18+
Вообще лучше использовать двойную связь лево-право и дитё-папа. Но можно и без последней. В моём примере вычисляеются родители по множественной модели, parent используется только для проверки. Принцип такой - найти все внешнии множества, но что бы не было промежуточных Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.08.2002, 14:47:39
|
|||
|---|---|---|---|
|
|||
Найти непосредств.родителя в табл. вложенных множеств |
|||
|
#18+
Да-да вот сам и придумал: :-) SELECT TOP 1 e.name AS name, b.name AS name_prnt, b.id AS id, e.id AS id_prnt FROM tbl AS b, tbl AS e WHERE b.lft<=e.lft AND e.lft<=b.rgt AND b.lft<=e.rgt AND e.rgt<=b.rgt AND e.id<>b.id AND e.id = 3 -- Id узла, для которого ищем -- непосредственного начальника ORDER BY b.rgt - b.lft ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1821414]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 370ms |

| 0 / 0 |
