|
|
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пусть есть дерево. Нужно найти в дереве три слова, что бы они лежали на одной ветке. Как такое делают в sql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:28 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
И вы правда считаете, что на этот вопрос можно что-то вменяемое ответить? Какое дерево? Какие слова? Деревья чего? При чём тут SQL? Если SQL, то какова схема данных? Если SQL, то какой диалектН? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:34 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
НахлобучИ вы правда считаете, что на этот вопрос можно что-то вменяемое ответить? Какое дерево? Какие слова? Деревья чего? При чём тут SQL? Если SQL, то какова схема данных? Если SQL, то какой диалектН? Структура обычная для дерева: id, parent_fk, name. Поиск осуществляется по полю name. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:36 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
НахлобучИ вы правда считаете, что на этот вопрос можно что-то вменяемое ответить? Какое дерево? Какие слова? Деревья чего? При чём тут SQL? Если SQL, то какова схема данных? Если SQL, то какой диалектН? Интересует подход к такому поиску. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:38 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Подход простой: использование рекурсивного CTE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:48 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПодход простой: использование рекурсивного CTE. А от рекурсии избавится можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 14:57 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Можно. Сменив структуру хранения на nested set или иную, заточенную под деревья. Либо ввести поле материализованного полного пути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2016, 15:14 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
__Avenger__Dimitry SibiryakovПодход простой: использование рекурсивного CTE. А от рекурсии избавится можно? Надо наверное начать не с середины а с основ. И вспомнить что есть 3 формы представление дереьвев в БД. Инверсные списки, Вложенные множества, И материализация путей. Можно конечно предположить что автор хочет вариант №1 но хотелось-бы уточнить сразу. По поводу веток, вагонки, бруса и прочих пило-материалов. Ну нет такого. Не принята такая терминология! Есть корень. Есть узлы. И есть листовые узлы. И есть понятие уровня (level) в дереве. Корню соответствует наименьший level. Для среза всех узлов в инверсном списке можно использовать виртуальную колонку level типа: Код: sql 1. или Код: sql 1. Про рекурсию в SQL говорить безсмысленно. Она просто не определена как актор этой системы. Можете считать что ее нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 00:22 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
maytonПро рекурсию в SQL говорить безсмысленно. Можете считать что ее нету. В "чистом" SQL нету... Но вот в расширениях, типа T-SQL (в виде with... select...), очень даже есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 10:54 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
__Avenger__, Такое не делают в SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 13:35 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Станислав C.В "чистом" SQL нету... Есть. WITH RECURSIVE входит в ANSI стандарт SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 14:50 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
__Avenger__Добрый день! Пусть есть дерево. Нужно найти в дереве три слова, что бы они лежали на одной ветке. Как такое делают в sql? with recurcive тебе в помощь как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Это типа заготовка, условия сам поставвь уже, какие надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 15:20 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
alex_p_n__Avenger__Добрый день! Пусть есть дерево. Нужно найти в дереве три слова, что бы они лежали на одной ветке. Как такое делают в sql? with recurcive тебе в помощь как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Это типа заготовка, условия сам поставвь уже, какие надо Ну и где тут в условии три слова, которые лежат на одной ветке? Дерево любой строить умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:00 |
|
||
|
Поиск в дереве
|
|||
|---|---|---|---|
|
#18+
Остановился на таком варианте поиска 20021633 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2017, 17:02 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39366847&tid=1340501]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 371ms |

| 0 / 0 |
