SQL запрос к ODBC
От: VVS  
Дата: 13.12.01 10:24
Оценка:
Привет всем.
Пишу прогу на VC++
Проблема такая:
есть две таблицы(1-T1,2-T2) одинаковые,со следующими полями Ф,И,О,DATE1,DATE2 .
1)Требуется добавить в 1 таблицу те строки из 2 таблицы в которых нет в 1 таблице
(проверка по Ф,И,О).
2)Также надо обновить DATE2 в 1 таблице из DATE2 2 таблицы
в тех строках где Ф,И,О 1 таблицы совпадают с Ф,И,О 2 таблицы.
SQL знаю плохо,вот что я намутил:
1)INSERT INTO T1 (Ф,И,О,DATE2)
SELECT Ф,И,О,DATE2 FROM T2 WHERE Ф NOT IN (SELECT DISTINCT Ф FROM T1)
OR И NOT IN (SELECT DISTINCT И FROM T1)
OR О NOT IN (SELECT DISTINCT О FROM T1)
Запрос работает но очень долго(когда в базе 10 000 строк)
2)UPDATE T1 a ,T2 b SET a.DATE2 =b.DATE2 WHERE a.Ф = b.Ф AND a.И=b.И AND a.О=b.О
тоже думаю что можно как то оптимизировать,помогите ктонить плиз,
может ктонибуть сможет в один запрос все засунуть:).
(отмечу что запрос к ODBC).
Заранее благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.