Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Все разделы хранятся в одной таблице

Пример
[id] [parentid] [title]
1 2 A
2 3 B
3 4 C


Вопрос:
1)Как получить все подразделы данного раздела прибегая к рекурсии?
2)Как получить все подразделы данного раздела используя курсор?
3)Как получить все подразделы данного раздела не прибегая к рекурсии?

Вариант простого joinа не подходит, т.к. количество вложений может изменяться

В итоге должно быть что-то в таком виде:
Root2 Root2
Child1 Root1 > Child1
Child1Child3 Root1 > Child1 > Child1Child3
10 июн 11, 21:16    [10799553]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Домашнее задание? Может учителя на дом нанять?
А про курсоры забудьте.

Если нет, то где скрипты, попытки? Конкретные вопросы чё непонятно.
10 июн 11, 22:26    [10799825]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Mnior,

мне интересно как ваше решение
11 июн 11, 00:55    [10800658]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
with CTE - но тут могут быть варианты
11 июн 11, 01:31    [10800817]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
gjkmpjdfntkm
но тут могут быть варианты
Какие варианты?
Может вам не с кем поговорить? Вы же прекрасно знаете ответы, что ещё нужно? Или не уверены в себе?
Давайте вы не будете тянуть резину или закрывайте тему или выложите проблему полностью со всех сторон в один пост.
11 июн 11, 13:03    [10801454]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Mnior,

меня интересует сколько существует вариантов решения данной задачи
15 июн 11, 02:59    [10813748]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
так,
Guest
gjkmpjdfntkm
Mnior,

меня интересует сколько существует вариантов решения данной задачи

на заданной структуре ([id] [parentid] [title]) ? - тогда "немного" :)

а "вабще" - варианты есть - http://www.arbinada.com/main/node/25
15 июн 11, 08:03    [10813851]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
так,
Guest
так,
gjkmpjdfntkm
Mnior,

меня интересует сколько существует вариантов решения данной задачи

на заданной структуре ([id] [parentid] [title]) ? - тогда "немного" :)

а "вабще" - варианты есть - http://www.arbinada.com/main/node/25


...ах, дааа :)
здесь, по-сценарию, подходит НЕ "Туго всасывающий" Mnior,
с "программным заявлением", про то, что - "всэ хэрня - главное бджолы hierarchyid"
15 июн 11, 08:09    [10813857]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
так,
http://www.arbinada.com/main/node/25
Мне казалось что чуть больше (на один - два), память не к чёрту.
Чётко и по делу - в FAQ это можно засунуть.
15 июн 11, 15:29    [10816691]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Mnior,

а еще варианты будут? я ведь не зря отнес тему в MSSQL
20 июн 11, 10:33    [10838720]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
так,
так,
пропущено...

на заданной структуре ([id] [parentid] [title]) ? - тогда "немного" :)

а "вабще" - варианты есть - http://www.arbinada.com/main/node/25


...ах, дааа :)
здесь, по-сценарию, подходит НЕ "Туго всасывающий" Mnior,
с "программным заявлением", про то, что - "всэ хэрня - главное бджолы hierarchyid"


этот вариант не практичен
20 июн 11, 10:34    [10838726]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
так,
Guest
gjkmpjdfntkm
так,
пропущено...


...ах, дааа :)
здесь, по-сценарию, подходит НЕ "Туго всасывающий" Mnior,
с "программным заявлением", про то, что - "всэ хэрня - главное бджолы hierarchyid"


этот вариант не практичен

??

какой ? с hierarchyid ???!

незабудь дать Б.Гейтсу телеграмму об этом...
20 июн 11, 10:46    [10838811]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
gjkmpjdfntkm
этот вариант не практичен
Для данной задачи это самое то. Он не практичен для других задач. Но это off-top.

У каждой медали две стороны. Как ни крути.
20 июн 11, 19:30    [10843043]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Mnior
gjkmpjdfntkm
этот вариант не практичен
Для данной задачи это самое то. Он не практичен для других задач. Но это off-top.

У каждой медали две стороны. Как ни крути.

нужно решение при котором добавление нового childID учитывалось без изменения запроса

т.е. унивесральное решение которое бы связывало ParentID>ChildID>ChildID[2..n]
22 июн 11, 11:03    [10852270]     Ответить | Цитировать Сообщить модератору
 Re: построить дерево id - parentid  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
gjkmpjdfntkm
нужно решение при котором добавление нового childID учитывалось без изменения запроса
т.е. унивесральное решение которое бы связывало ParentID>ChildID>ChildID[2..n]
Всё вышеописанные решения так и работают.
22 июн 11, 21:26    [10857925]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить