powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как произвести иерархический поиск
3 сообщений из 3, страница 1 из 1
Как произвести иерархический поиск
    #32011734
Sergei Almazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица следующей структуры:
ID, Parent, Name, ...

В поле Parent хранится значение ID родительской записи, для записи самого верхнего уровня(в иерархии) Parent=0.
Как создать запрос, который бы возвращал child'ов всех уровней для определенной записи.
Пример: имеем таблицу

1 0 Top level
2 1 Something 1
3 2 Something 1.1
4 2 Something 1.2
5 4 Something 1.2.1
6 4 Something 1.2.2
7 1 Something 2
8 7 Something 2.1
9 7 Something 2.2

Тогда для записи ID=2 запрос должен выдать
3 2 Something 1.1
4 2 Something 1.2
5 4 Something 1.2.1
6 4 Something 1.2.2

Если кто-то сталкивался с этой проблемой или знает, как ее решить, буду очень признателен за ответ.
...
Рейтинг: 0 / 0
Как произвести иерархический поиск
    #32011735
ChA+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по твоему примеру имеет смысл прочитать http://www.osp.ru/win2000/sql/2001/05/968.htm
Или воспользоваться обычным LIKE, например:
DECLARE @Level
SET @Level = 2
SELECT * FROM Table1 t WHERE Name LIKE 'Something %' + REPLICATE('.%', @Level - 1)
...
Рейтинг: 0 / 0
Как произвести иерархический поиск
    #32011736
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевод статьи Joe Celko

Вопрошающему уже послал, все желающие могут взять по ссылке
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как произвести иерархический поиск
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]