Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

Копия подчиненных записей   Найти похожие ветки 

 
oji   (2006-07-07 09:19) [0]

Подскажите, как создать новую запись таким образом, чтобы в ней появилась копия из одной подчиненной таблицы предыдущей записи.

Например, есть:

Table Record:
ID=65535
Date=7.7.2006
Text="123"

Subtable Records:
ID=1
SubID=65535
Text="1234"
---
ID=2
SubID=65535
Text="5678"

Нужно чтобы при добавлении в Table записи 65536 с ней добавлялись в SubTable копии записей с SubID=65535, с заменой их на 65536.

Надеюсь, достаточно подробно объяснил.

Инструментарий: BDS2006, MyComponents, ehLib, FR.


 
SerJaNT ©   (2006-07-07 09:25) [1]

Ничего не понял. 8-)
Объясни поподробнее, что куда добавляется и что где и на что должно изменяться


 
Johnmen ©   (2006-07-07 09:54) [2]

INSERT INTO ... SELECT FROM ... WHERE SubID=65535


 
oji   (2006-07-07 09:56) [3]

Есть главная таблица. Упрощенная структура (достаточно для объяснения):

ID --- Autoincrement PK
Date --- Date
Text --- Varchar(50)

Есть несколько связанных с ней таблиц. Нужна только одна. Пусть ее вид будет следующим:
ID --- Autoincrement PK
SubID --- int(16)
Text --- Varchar(50)

Когда в главную таблицу добавляется запись, то ищется предыдущая (по дате) и по ней нужно выйти на записи в связанной таблице и продублировать их для текущей.


 
SerJaNT ©   (2006-07-07 10:52) [4]

Если не секрет, скажи, джля чего это? Что ты хочешь сделать, может все граздо проще...


 
Desdechado ©   (2006-07-07 10:56) [5]

oji   (07.07.06 09:56) [3]
Ответ уже дан в [2].

SerJaNT ©   (07.07.06 10:52) [4]
Например, похожие объекты, отличающиеся парой-тройкой полей из 50-100 штук. Чтоб заново не забивать данные.


 
SerJaNT ©   (2006-07-07 11:05) [6]


> Например, похожие объекты, отличающиеся парой-тройкой полей
> из 50-100 штук. Чтоб заново не забивать данные.


Нихрена не пойму, для чего это может понадобиться??


 
Desdechado ©   (2006-07-07 11:10) [7]

SerJaNT ©   (07.07.06 11:05) [6]
Не тормози.
Например, есть типовой заказ на покупку чего-то (позиций 200), который присылается в магазин раз в месяц. И каждый месяц в нем есть небольщое отличие: добавили пару пунктов, изменили количество для чего-то, решили сегодня не брать еще что-то.
Итого - совпадение с предыдущим заказом по 180 позициям. Ты их хочешь заставить вдалбливать заново?
Не проще ли скопировать предыдущий заказ и убрать из него ненужное?


 
SerJaNT ©   (2006-07-07 11:13) [8]


> Не проще ли скопировать предыдущий заказ и убрать из него
> ненужное?

Это можно сделать и так

SELECT * FROM ... WHERE ... <> ...


 
Desdechado ©   (2006-07-07 11:19) [9]

SerJaNT ©   (07.07.06 11:13) [8]
Снова тормозишь.
А если, как я уже говорил, изменяется только количество покупаемого по некоторым позициям?


 
SerJaNT ©   (2006-07-07 11:22) [10]

Короче, геморойное это дело. Тут надо вложенные условия чтоли использовать...Например, вложенные select"ы и изменять через Update


 
oji   (2006-07-10 02:10) [11]

Johnmen, спасибо, оно самое. Как-то даже в голову не пришло. :)


> Desdechado ©   (07.07.06 10:56) [5]
>
> oji   (07.07.06 09:56) [3]
> Ответ уже дан в [2].


Разница "постов" в пару минут. Отправил ответ и ушел на выходные домой. Вернулся, а, оказывается, мне ответили еще раньше второго объяснения. :))



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.075 c
1-1154958562
webpauk
2006-08-07 17:49
2006.09.17
Расположение кнопок в ToolBar


15-1156585648
vlad-mal
2006-08-26 13:47
2006.09.17
Есть ли возможность читать форум через NNTP?


5-1139661999
ruslann
2006-02-11 15:46
2006.09.17
нужен компонент "panel" но нестандартной формы


15-1156269017
Nic
2006-08-22 21:50
2006.09.17
Отправление лесом


15-1155753195
Ketmar
2006-08-16 22:33
2006.09.17
"а на седьмой день ему всё осто....о" (ц)