Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2016, 22:29   #1
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию вставить неповторяющиеся записи из одной таблицы в другую

Код:
DataModule2.ADOQuery3.SQL.Add('insert into Oborudovanie ([№ п/п],[Наименование единицы],[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],[Год выпуска]) ');
DataModule2.ADOQuery3.SQL.Add('select ([№ п/п],[Наименование единицы],[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],[Год выпуска]) ');
DataModule2.ADOQuery3.SQL.Add('from OborudovanieAdd where not exists (select ([Оперативный номер],[Заводской номер]) ');
DataModule2.ADOQuery3.SQL.Add('from Oborudovanie where ([Оперативный номер]=OborudovanieAdd.[Оперативный номер] and [Заводской номер]=OborudovanieAdd.[Заводской номер]))');
Пишет "Ошибка синтаксиса около конструкции ",""
нужно из таблицы OborudovanieAdd в таблицу Oborudovanie вставить новые (чтобы не было дублей) записи. Проверка по полям Оперативный номер и Заводской номер.
Знаю что русские названия столбцов чреваты, исправлю.
Что не так?
Спасибо.

Последний раз редактировалось Ernest027; 06.06.2016 в 22:33.
Ernest027 вне форума Ответить с цитированием
Старый 11.07.2016, 08:58   #2
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

как-то так

INSERT INTO Oborudovanie (SELECT [№ п/п],[Наименование единицы],[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],[Год выпуска] FROM OborudovanieAdd WHERE ([Оперативный номер]=OborudovanieAdd.[Оперативный номер] and [Заводской номер]=OborudovanieAdd.[Заводской номер]))
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/
Igor[Игорь] вне форума Ответить с цитированием
Старый 11.07.2016, 09:32   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
DataModule2.AdoQuery3.SQL.Text:='insert into Oborudovanie ([№ п/п],[Наименование единицы],[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],[Год выпуска]) ' +

' select  ([№ п/п],[Наименование единицы],[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],[Год выпуска])  ' + ///ЗАЧЕМ ЗДЕСЬ СКОБКИ!!!!!!!!!!


' from OborudovanieAdd ' +
' where not exists ( select ([Оперативный номер],[Заводской номер]) ' +
'                   from Oborudovanie where ([Оперативный номер]=OborudovanieAdd.[Оперативный номер] and [Заводской номер]=OborudovanieAdd.[Заводской номер]))';
';
Скобки подразумевают здесь (в SELECT) операцию ВЫЧИСЛЕНИЯ значения некоего поля, но при вычислениях НЕТ места(как правило) запятой. И уж точно не в этом случае.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 11.07.2016 в 09:37.
evg_m на форуме Ответить с цитированием
Старый 11.07.2016, 09:50   #4
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

за месяц программа уже сдана в утиль
come-on вне форума Ответить с цитированием
Старый 11.07.2016, 10:30   #5
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Ernest027 нужно из таблицы OborudovanieAdd в таблицу Oborudovanie вставить новые (чтобы не было дублей) записи.
Смотрим пример http://programmersforum.ru/showthrea...=280900&page=2 на #14 и #17
xxbesoxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение ОДНОЙ записи из одной таблицы в другую Vongud БД в Delphi 28 10.04.2015 21:47
Как вставить данные из одной таблицы в другую пропуская строку mihon Microsoft Office Excel 4 24.05.2013 12:10
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую reihtmonbern БД в Delphi 4 17.07.2012 23:25
Нужно вставить Фамилию из одной таблицы в другую.. Lleu SQL, базы данных 6 18.02.2011 19:30
Вставить все из одной таблицы в другую _SERGEYX_ БД в Delphi 2 27.01.2011 17:05