 |
SQL query |
 |
11.04.2007, 11:07
|
#1
|
|
Web developer
Join Date: 09 2002
Location: Yerevan
Age: 45
Posts: 896
Rep Power: 0
|
SQL query
Кто поможет написать запрос...
Таблица Folders
ID | Folder | Title
-----------------
1 | 0 | Title 1
2 | 0 | Title 2
3 | 1 | Title 1.1
4 | 1 | Title 1.2
5 | 3 | Title 1.1.1
6 | 4 | Title 1.2.1
Дерево думаю понятно как работает, так вот мне нужен запрос ( рекурсивный ) который бы выводил все под и под - названия Title 1, т.е. должны выводится строки с ID=3,4,5,6
Надеюсь доступно обьяснил.
|
|
|
|
11.04.2007, 11:20
|
#2
|
|
Web developer
Join Date: 09 2002
Location: Yerevan
Age: 45
Posts: 896
Rep Power: 0
|
Пожалуйста отвечайте по существу. Мне нужен только и только SQL запрос, никаких других инструментов ( PHP ) у меня нет!
|
|
|
|
11.04.2007, 12:03
|
#3
|
|
мрачный бородач
Join Date: 09 2005
Location: Антитентура
Age: 47
Posts: 11,134
Rep Power: 7
|
я чего-то не совсем понял
select * from Folders where Title like 'Title1.%'
хоски сенц бан?
|
|
|
|
11.04.2007, 22:44
|
#4
|
|
инсценирующи
Join Date: 07 2002
Location: Fireplace of Ecotopia
Age: 41
Posts: 4,327
Rep Power: 5
|
Arth-Gwyr> не, Title может иметь какое угодно название.
По делу, есть возможность создать MySQL функцию?
Ибо без нее насколько я понимаю рекусрсии или ее "заменителя" не получиться.
Написать подзапросы для 2-ух 3ех уровней можно, но это для конечного и (пожалуй однозначного) числа, некрасиво и не по нашенски.
|
|
|
|
11.04.2007, 23:26
|
#6
|
|
инсценирующи
Join Date: 07 2002
Location: Fireplace of Ecotopia
Age: 41
Posts: 4,327
Rep Power: 5
|
Пасторен без небольших извратов, и модификации струтруы данных, с некоторой избыточной инфой не обойтись.
|
|
|
|
12.04.2007, 04:55
|
#7
|
|
Web developer
Join Date: 09 2002
Location: Yerevan
Age: 45
Posts: 896
Rep Power: 0
|
Xelgen, спасибо большое за ответ, то что я копал оказалось непригодным, структуру таблицы менять не могу.
Что же касается конкретной задачи: в дальнейшем нужно все подкатегории отсортировать не по глубине, а по дате ввода и еще надо будет организовать постраничный вывод. В таблице порядка 3000 записей начально, потом может доходить до 10-ок тысяч.
* AvDav, без обид, ок? Просто я всегда оформляю вопрос максимально корректно, чтоб потом бы не шел флейм на 2-3 страницы, Еслиб я бы тебя не прервал, было бы огромное кол-во людей писавших "inchi PHP, .NET ogtagorci" и все в этом духе
|
|
|
|
 |
|
 |
13.04.2007, 00:02
|
#8
|
|
инсценирующи
Join Date: 07 2002
Location: Fireplace of Ecotopia
Age: 41
Posts: 4,327
Rep Power: 5
|
Quote:
Originally Posted by Aram Ghazanchyan
Xelgen, спасибо большое за ответ, то что я копал оказалось непригодным, структуру таблицы менять не могу.
|
Не совсем понял, если честно, что ты имел ввиду. Nested Set не возможно применить?
Не знаю как чистым SQL, но скриптом можно запросто привести данную тобой структуру, в nested set. Можно не трогать оригинальную таблицу, если так ограничен в свободе, но содержать паралельно оригинальной таблице нестед сет.
Ну или иной вариант, можно работать и этой таблицей (описанно в первой части), но нужно будет как то вычилить макс глубину, и сделать соотвествубщее ей количество JOIN'ов..
Весь вопрос как я понимаю, в том как ее вчсилсить, используя только SQL.
Quote:
Originally Posted by Aram Ghazanchyan
Что же касается конкретной задачи: в дальнейшем нужно все подкатегории отсортировать не по глубине, а по дате ввода и еще надо будет организовать постраничный вывод. В таблице порядка 3000 записей начально, потом может доходить до 10-ок тысяч.
|
Гм, тут проблем вроде нет? SORT BY `ID` и LIMIT.
А так, пожалуйста, самому было интересно, да и скоро может на практике пригодиться.
|
|
|
|
 |
13.04.2007, 04:25
|
#9
|
|
Web developer
Join Date: 09 2002
Location: Yerevan
Age: 45
Posts: 896
Rep Power: 0
|
Quote:
|
Гм, тут проблем вроде нет? SORT BY `ID` и LIMIT.
|
О функции SORT BY я знаю, просто представь если ты используешь скрипт и каждый раз генерируешь запрос к "родителю", то сортировка будет конкретно в данном Folder-е, т.е. нужно будет использовать массивы, а при данном кол-ве данных Массив + Пару 1000 SELECT-ов машина не выдержит...
|
|
|
|
16.04.2007, 12:19
|
#10
|
|
*****
Join Date: 03 2003
Location: Yerevan
Posts: 314
Rep Power: 0
|
Es depqum karog es ogtagortcel
Nested Query vori hamar stipvac klines popoxel bazaji strukturan (bajc kkaroganas @ndamen@ mi zaprosov stanas cankacacac makardak u cankacac xorutjun),
Isk aveli hesht popoxutjun piti anes, bajc qich avelacnes Level dasht@ vorteg kkaroxanas pahel tvjal makardak@ vor@ kqchacni zaprosneri qanak@
Isk es dzevov voch mi ban el ches karox anel. Izur mi charcharvi.
__________________
Men's eyes were made to look, and let them gaze.
|
|
|
|
|
All times are GMT. The time now is 12:04. |
|
|