![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вставить результат запроса Query в таблицу???. [D7, Paradox]
CyBeR © (2004-04-13 14:21:00)Есть таблица (Учебный план) нужно отбрать нужную специальность,семестр.... затем все это вставить в другую для более детальной обработки (разбиения занятий по часам...) с возможносью сохранения. Нет ли простого способа это реализовать???
CyBeR (2004-04-15 11:55:00) [1]Sorry, я действительно не совсем корректно поставил вопрос
Проблема была такая: Есть такой документ как график организационно-уч. процесса. Он формируется для каждой группы на каждый семестр. В нем должна быть произведена понедельная разбивка часов занятий. Вот мне и надо было по зоапросу взять дисциплины из уч.плана,кол-во часов в семестр, а потом закинуть все в этот график (изначально он пустой) и разбить по часам, проставить преподавателй.
В общем проблема решена с помощью INSERT INTOВсем спасибо за проявленный интерес ;-)
Ильш (2004-04-15 06:22:00) [2]
> CyBeR © (14.04.04 14:07) [5]
по делу и говорю!
совершенно не понятно чего ты хочешь? точно также можно спрашивать типа:
у меня 5 таблиц, надо из 4-ой в 3-ю перегнать два поля, и подсуммировать к ним 1-ю таблицу, как это реализовать?
каков вопрос таков ответ... :((((
ЮЮ (2004-04-15 03:16:00) [3]INSERT
INTO TableK(Fld0, ... FldN)
SELECT t1.f0, t2.f0, ...
FROM
Table1 t1
LEFT JOIN Table2 t2 ON t2.t1 = t1.Id
LEFT JOIN Table3 t3 ON t3.t2 = t2.Id
WHERE
(t1.Id = :t1) AND ...
Ega23 (2004-04-14 17:15:00) [4]ЮЮ в [1] в общем правильно всё сказал. Нафига двойную работу делать?
Sherbacov (2004-04-14 17:10:00) [5]>> CyBeR тебе народ дело говорит.
1. Вопрос надо более корректно формировать.
Я вот до сих пор его не понял.
CyBeR (2004-04-14 16:43:00) [6]>>ЮЮ ©Чтобы использовать связанныые таблицы, нужны, данные для связи чтосвязывать. А как потом их связать я уж разберусь ;-)
CyBeR (2004-04-14 14:07:00) [7]>>Ильш ©Ты бы рот свой прикрыл и выражался бы по делу :-/
LaidBack (2004-04-14 08:48:00) [8]У TTable есть метод BatchMove, используй его с параметром batCopy
Yarik (2004-04-14 08:45:00) [9]function mfnBDECreateTbl(jDataBase: TDataBase;
TblName, SQL: string; Px: Boolean = True): LongInt;
var hStmt: hDBIStmt;
hQryCur, hNewCur: hDBICur;
iRecCount: LongInt;
pszAnswerType: pCHAR;
begin
hQryCur:= nil; hNewCur:= nil; hStmt:= nil;
if Px then
pszAnswerType:= szPARADOX else
pszAnswerType:= szDBase;
try
Check(DbiQAlloc(jDataBase.Handle, qrylangSQL, hStmt));
Check(DbiQPrepare(hStmt, PChar(SQL)));
Check(DbiQExec(hStmt, @hQryCur));
Check(DbiQInstantiateAnswer(hStmt, hQryCur, PChar(TblName),
pszAnswerType, True, @hNewCur));
Check(DbiGetRecordCount(hNewCur, iRecCount));
Result:= iRecCount;
finally
if (hStmt <> nil) then Check(DbiQFree(hStmt));
if (hNewCur <> nil) then Check(DbiCloseCursor(hNewCur));
end;
end;
Ильш (2004-04-14 06:48:00) [10]А еще есть способ - мозгами пошевелить!!! Почитать литературу!!! И не парить всех тупымивопросами!!!
ЮЮ (2004-04-14 03:49:00) [11]>Нет ли простого способа это реализовать???
Есть. Называется правильное проектирование БД. Тогда не надо будет так извращаться. Более детальная обработкаосуществляется добавлением всё большего и большего количества связанных таблиц.