Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
15-1155064161
xxxx
2006-08-08 23:09
2006.09.17
дозвон


3-1152278195
antoxa2005
2006-07-07 17:16
2006.09.17
Как можно получить драйвер Gemini ODBC?


15-1156369134
ronyn
2006-08-24 01:38
2006.09.17
Почему в орешнике нет аффтарства?


15-1156836324
dom2
2006-08-29 11:25
2006.09.17
Кто переведет...


15-1155424235
ronyn
2006-08-13 03:10
2006.09.17
Параметры папки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский