|
|
|
сложный update
|
|||
|---|---|---|---|
|
#18+
Что-то мои познания в SQL оказались пока слабоваты для следующей одноразовой задачи: Есть стандартная иерархическая структура родитель-наследник, все записи хранятся в одной таблице. Для каждой записи есть ID, ссылка на родителя PARENT_ID и поле ORDER_NUMBER: Таблица, пусть название её будет NODE, поля ID - собственно, самый обычный автоинкрементный PK; PARENT_ID - ссылка на наследника, NULL если такового нет; ORDER_NUMBER - порядковый номер; Задача: обновить ORDER_NUMBER, для всех групп дочерних элементов установив его в соответствии с номерами строк, запроса, который можно себе представить как Код: plsql 1. То есть расставить в порядке добавления каждого потомка. Подскажите, пожалуйста, как такое можно сотворить. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2016, 11:43 |
|
||
|
сложный update
|
|||
|---|---|---|---|
|
#18+
Santex78Что-то мои познания в SQL оказались пока слабоваты для следующей одноразовой задачи: Есть стандартная иерархическая структура родитель-наследник, все записи хранятся в одной таблице. Для каждой записи есть ID, ссылка на родителя PARENT_ID и поле ORDER_NUMBER: Таблица, пусть название её будет NODE, поля ID - собственно, самый обычный автоинкрементный PK; PARENT_ID - ссылка на наследника, NULL если такового нет; ORDER_NUMBER - порядковый номер; Задача: обновить ORDER_NUMBER, для всех групп дочерних элементов установив его в соответствии с номерами строк, запроса, который можно себе представить как Код: plsql 1. То есть расставить в порядке добавления каждого потомка. Подскажите, пожалуйста, как такое можно сотворить. Спасибо. нет ораклы под рукой, но значение полей order_number вроде так можно высчитать (если я все правильно понял постановку задачи): Код: plsql 1. ну и апдейтить:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2016, 12:28 |
|
||
|
сложный update
|
|||
|---|---|---|---|
|
#18+
Santex78запроса, который можно себе представить как+ MERGE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2016, 12:32 |
|
||
|
сложный update
|
|||
|---|---|---|---|
|
#18+
legg, Спасибо большое вот смотрел я на эту конструкцию: Код: plsql 1. и тупил, что она значит. А Вы очень помогли :-). Теперь даже на душе легче стало :-). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2016, 12:41 |
|
||
|
сложный update
|
|||
|---|---|---|---|
|
#18+
Santex78legg, Спасибо большое вот смотрел я на эту конструкцию: Код: plsql 1. и тупил, что она значит. А Вы очень помогли :-). Теперь даже на душе легче стало :-). рад, что оказался полезен:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2016, 12:43 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39368444&tid=1886800]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
199ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 518ms |

| 0 / 0 |
