|
Тема |
какъв по-елегантен начин има [re: vido] |
|
Автор | kaлиkинa (Нерегистриран) | |
Публикувано | 12.02.08 12:20 |
|
|
Пак съм аз с този InsertSQL .....
Имам едно множество (Таблица-А) и подмножество(Таблица-Б), трябва да получа разликата
Правя Query1 за да получа всички записи от Б, съдържащи се в А по поле-Х
Правя Query2 за да получа всички записи от Б, но не се съдържат в А по поле-Х
Възможно е да има дублирани записи и Query1 връща по-малко записи
За да ги намеря правя таблици от Query1 и Query2 (там слагам флаг ('1' ако е от табл1, '0' ако е от табл2)
после ще обединя табле1 и табле2 (резултата ще е равен на Табле-А) и после ще сетвам флага ръчно
with DataModule1.Query1 do
begin
Active:=false;
Active:=true;
SaveToTable('алабала','табле1');
end;
with DataModule1.Query2 do
begin
Active:=false;
Active:=true;
SaveToTable('алабала','табле2');
end;
INSERT INTO "алабала\табле1" (поле1,поле2,поле3)
SELECT поле1,поле2,поле3
FROM "алабала\табле2"
Получавам грешка "Update failed "
Предполагам този SaveToTable ми обърква нещата, защото имам поле, което е AutoIncrement в Таблица-А и Таблица-Б .....
Или след SaveToTable таблицата ми остава в заключен режим ?!?!
........ Нещо бъркам и не ми е ясно къде
Може ли някой да ми даде идея как да стигна до НовТабл=ТаблеА-ТаблеБ, така че и дублираните записи да са там .....
|
| |
|
|
|