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

start [/forum/topic.php?fid=16&fpage=24&tid=1340501]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 282ms |

| 0 / 0 |
