|
|
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
Структура таблицы (форумной) выглядит как MsgID, ReplyMsgID, SentDateTime. Можно ли сделать запрос таким образом, чтобы его результатом были записи, расположенные в случае корневого сообщения (ReplyMsgID IS NULL) в порядке убывания даты, а дочерние на одном уровне - в порядке возрастания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2002, 19:34:38 |
|
||
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
Может как-нибудь так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2002, 19:53:25 |
|
||
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
Это, конечно, хорошо, но сама древовидность при этом не выходит :(. Нужно ведь расположить записи в порядке веток, то есть MsgID ReplyMsgID SentDateTime 1 NULL 21.07.02 2 1 22.07.02 3 2 23.07.02 4 2 24.07.02 5 1 23.07.02 6 NULL 20.07.02 Вот этого-то у меня и не выходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2002, 20:30:06 |
|
||
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
Дерево вообще в плоский запрос сложно запихнуть, может легче будет рекурсивно во временную таблицу слить данные, а потом из нее читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2002, 21:45:21 |
|
||
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
А чё я тут писал не подойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 10:10:49 |
|
||
|
Как получить записи в древовидной стуктуре?
|
|||
|---|---|---|---|
|
#18+
Если для хранения древовидной структуры ты используешь классический вариант в чистом виде - т.е. только код записи и ссылка на родителя, то получить требуемую выборку одним запросом никак не получится. Необходимо делать процедуры. Например, как те что предложил SergSuper Если желаешь получать выборки одним (или ограниченным, конечным количеством) запросом, то необходимо отойти от стандарта хранения древовидных структур. Либо использовать принципально другой подход (например, дерево, как вариант графа), либо вводить дополнительные поля, облегчающие выборку (например, сквозной порядковый номер или полную иерархию до корневого родителя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 10:58:23 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1821582]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 340ms |

| 0 / 0 |
