|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.05.2008, 09:52 | #1 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Рекурсивный SQL запрос
Имеется MySQL, в ней таблица table реализующая структуру каталога с полями
id sub_id ... ... ... где id - уникальный идентификатор каждого элемента каталога а sub_id - ссылка этого элемента на родительский элемент как бы написать SQL запрос, который выдаст все элементы, которые "ниже"/"выше" заданного id .... то есть все вложенные элементы/или наоборот...... подозреваю что это делать с помощью рекурсий... но как конкретно - не знаю.... Может кто что подскажет? |
19.05.2008, 11:46 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
ADSoft, уточните. Я бы сказал, что скорее не рекурсий, а суб-запросов, благо mysql, начиная с версии 4 с чем-то, их поддерживает, но целиком схему, которая нужна, по Вашему описанию не смог себе вообразить....
|
19.05.2008, 12:39 | #3 | |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Цитата:
Есть таблица элементов каталога, каждый элемент определятся полями Id - уникальным номером, и Sub_id - принадлежность к родителю (указывается id того элемента которому принадлежит....если корень то 0) .... задача - при выборе элемента - найти все множество элементов принадлежащих ему и далее (как ветка дерева)/ ну и как частный случай - не принадлежащих...... вот тут подсказывают что как то через Distinct и INNER JOIN...а как конкретно низнаю |
|
24.05.2008, 23:09 | #4 |
Новичок
Джуниор
Регистрация: 24.05.2008
Сообщений: 1
|
не знаю как на счет MySQL, а в Oracle работает:
SELECT LPAD(' ', 2*LEVEL)|| sub_id FROM table START WITH id=.... CONNECT BY PRIOR id= sub_id; ->> выдает sub_id, принадлежащие выбранному id |
25.05.2008, 09:07 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Э..... выбрать все элемены у который sub_id = id не проблемма....
надо все деево выбрать! то есть и те элементы, которые в сою очередь ринадлежат sub_id ...итд итп.... я так уже понял чистым SQL не разобраться... поцедуры нада писать в самом API или создавать хранимые процедуры... которых в MySQL нет |
02.06.2008, 16:55 | #6 |
Форумчанин
Регистрация: 24.10.2007
Сообщений: 254
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запрос ссылается на несвязанный с ним запрос | kolebatel | SQL, базы данных | 0 | 11.06.2008 12:50 |
SQL запрос | Uomo | БД в Delphi | 17 | 23.04.2008 14:12 |
Запрос | Инночка | БД в Delphi | 2 | 23.04.2008 13:19 |
SQL запрос | SERG1980 | БД в Delphi | 6 | 19.10.2007 23:03 |
SQL-запрос | Elena | БД в Delphi | 3 | 17.05.2007 15:13 |