|
Клонирование записей в рамках одной таблицы
|
|||
---|---|---|---|
#18+
Приветствую форумчан. Подскажите пожалуйста, как лучше выполнить клонирование определённых записей в рамках одной таблицы с применением некоторой функции к одному из полей? Значит, есть исходные данные такие: Код: plaintext 1. 2. 3.
мне нужно их отобрать и склонировать в эту же таблицу, но прежде применить следующие правила: а) Поле Value если больше 10, то отображать 10, иначе текущее значение; б) Поле FreqT возвести в квадрат; в) Поле PointID изменить с 61 на 99; в итоге, получим следующие данные для insert'a: Код: plaintext 1. 2. 3.
сейчас я тупо делаю селект, и прогоняю записи, генеря скрипт с инсертами. Но это не по фен-шую. Круто было бы если бы можно было бы сделать вычисляемые поля, но только на отдельные записи (напр. только где PointID=61). Ну или, я ещё вижу конструкцию типа: Код: sql 1. 2. 3.
(сорри, скорей всего не верный синтаксис) Подскажите вариант, как оформить верный синтаксис. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2020, 21:52 |
|
Клонирование записей в рамках одной таблицы
|
|||
---|---|---|---|
#18+
palladin600, И чем вас эта 2-я конструкция не устраивает? Правда, непонятно, нафига там delete а так, имхо, все правильно Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2020, 22:22 |
|
Клонирование записей в рамках одной таблицы
|
|||
---|---|---|---|
#18+
godsql Правда, непонятно, нафига там delete delete для того, что записи, которые имеют PointID=61, они постоянно меняются. Т.е. сейчас 100 таких записей, через час может быть 150, завтра 90. А по ним, уже есть клоны (те, что с PointID=99). Поэтому, надо старые клоны удалить, и сформировать новые. Эдакий фантом, который по сути базируется на первоначальных данных. Пользователь БД оперирует только записями с ID=61. Как только он проделал манипуляции (INS/UPD/DEL), необходимо создать на их основе вычисленные записи с ID=99. Вот примерно такая схема работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2020, 22:31 |
|
Клонирование записей в рамках одной таблицы
|
|||
---|---|---|---|
#18+
SELECT INTO #Temp FROM (SELECT ....) UPDATE #Temp .... INSERT INTO ... SELECT #Temp ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 10:26 |
|
Клонирование записей в рамках одной таблицы
|
|||
---|---|---|---|
#18+
А нужно ли строго хранить эти данные, с PointID = 99, в таблице? Вижу решение через создание представления вида: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2020, 10:38 |
|
|
start [/forum/topic.php?fid=46&msg=40000696&tid=1685629]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 143ms |
0 / 0 |