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

Откуда:
Сообщений: 6
Есть таблица
CL - Группы товара (ID-Код группы; Name-наименование; CL_ID-Код родителя).
В таблице CL примерно следующие данные
1 Группа100 0 - группа 1-го уровня
2 Группа200 0 - группа 1-го уровня
3 Группа300 0 - группа 1-го уровня
4 Группа110 1 - группа 2-го уровня
5 Группа120 1 - группа 2-го уровня
6 Группа121 5 - группа 3-го уровня
7 Группа310 3 - группа 2-го уровня
8 Группа311 8 - группа 3-го уровня
9 Группа400 0 - группа 1-го уровня

Необходимо запросом получить дерево каталога товаров.
Сейчас я делаю так:
МОЙАЛГОРИТМ1:
результат1=Выбрать все категории первого уровня
_Цикл1 по результат1
_Вывести результат1
_результат2=Выбрать все категории второго уровня где CL_ID=Результат1.ID
_Цикл2 по результат2
__Вывести Результат2
__Результат3=....
....
Здесь столько уровней вложенности сколько уровней в категории товара.
....
_Конец цикл2
Конец цикл1

Это работает, и работает пока быстро, каталог пока не очень большей. Но скоро каталог начнет рости, увеличится нагрузка на сервер, и тогда это будет самое слабое звено моей программы.

Помогите написать запрос который делал бы тоже самое что и МОЙАЛГОРИТМ1 но без вложенных циклов.

Зарание огромное спасибо
21 июн 05, 19:29    [1638140]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом (дерево данных)  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
http://www.osp.ru/win2000/sql/2001/05/967.htm

http://www.osp.ru/win2000/sql/2001/05/968.htm

http://sdm.viptop.ru/articles/sqltrees.html
22 июн 05, 06:36    [1638534]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом (дерево данных)  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
я вот так делал

https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=191599#1618154

https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=10197#44816
22 июн 05, 12:08    [1639506]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом (дерево данных)  [new]
Sany81
Member

Откуда:
Сообщений: 6
Спасибо огромное, очень помогло.
22 июн 05, 15:44    [1640807]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить