Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сравнение и выборка


ArtemB ©   (2003-02-11 08:44:00) 

Есть две табдицы Table1 Table2
Надо посмотреть какие записи в Table1 являются новыми (их нет в Table2) и сделать с этими новыми записями операции определенные (посмотреть и по согласию перенести их в Table2).
Уникальных полей нет...

Я делаю выделением цветом в DBGrid по событию DrawColumnCell (там я говорю если Loockup то выдели цветом эту строку), а потом переношу строки (по циклу) которые выведены определенным цветом.
НО это очень долгий процесс, т.к. в Loockup много полей по условию поиска (18).

КАК можно быстрее сделать, какие есть выходы??? ???


stone   (2003-02-11 09:33:00) [1]


> потом переношу строки (по циклу) которые выведены определенным
> цветом


Примерно так

insert into Table2(field_1,...Field_n) select * from Table1 t1 where not exists(select * from table2 t2 where t2.Field_1=t1.Field_1 and ... t2.Field_n=t1.Field_n)


Соловьев   (2003-02-11 09:30:00) [2]

select table1.*, table2.*
from table1 left join table2
on
table1.field1=table2.field1 and
table1.field2=table2.field2 and
...
Те записи которые будут отсутствовать в table2, будут NULL.


Наверх

Титульная страница Поиск, карта сайта Написать письмо