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

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

SQL запрос без "IN" составить хочу.. [D6, IB6.x]


Vemer ©   (2004-03-27 00:03:00) 

Здравствуйте.
Решил тут прогу свою оптимизировать, индексов навтыкал, теперь до запросов добрался.
Имееться 2 таблицы, Т1 и Т2, в каждой по 2 поля (ID1/ID2 и Text1/Text2) соответственно. 2 - потому что одна приходит снаружи, содержит обновлененный вариант. То есть 2 таблицы, различаються только несколькими строками (или сотнями строк..).
Вопрос: Можно ли одним запросом без использования
INиз одной таблицы вставить "недостающие" данные в другую (то есть сделать их одинаковыми по кол-ву строк).
Или быстрее сначала убить совпадения, а разницу прилепить
Insert Into?
Сейчас используеться запрос вида:
Insert Into T1(ID, NAME)
Select ID, NAME
 From T2
 Where T2.ID Not In (Select ID From T1);


makz   (2004-03-29 04:11:00) [1]

а почему не
select ID, NAME
From T2
Where not T2.ID=any (Select ID From T1) ?


Fay   (2004-03-29 02:48:00) [2]

2Romkin ©   (28.03.04 23:18) [3]
А вот фигушки


Romkin   (2004-03-28 23:18:00) [3]

Копирайт, кажется, Johnmen принадлежит :)))


Vemer   (2004-03-28 20:27:00) [4]

Спасибо, подошло.
Красивое решение!


Romkin   (2004-03-27 11:34:00) [5]


select t2.ID, t2.Name
 from t2 left join t1 on t2.ID = t1.ID
 where t1.ID is NULL

должно прокатить


Наверх

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