![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобрать записи из Т1 для которых нет записей в Т2? [D3, IB6.x]
Stupid © (2004-04-29 12:02:00)Извиняюсь за глупый вопрос, но сейчас под рукой нет книги по SQL, а срочно надо :
Select Id_PrM, CP_Num, Pr_PNum, Pr_Nos
From Proj_Maks, Projekt, Dar_Aprek
Where Proj_Maks.Id_Pr = Projekt.Id_Pr and
Dar_Aprek.Id_pr = Projekt.Id_Pr
Order By Pr_PNum, CP_Num
Данный запрос отбирает записи из Proj_Maks для которых есть записи в Dar_Aprek.
А как отобрать записи из Proj_Maks для которых нет записей в Dar_Aprek.
Stupid (2004-04-29 12:35:00) [1]Если я всё правильно сделал - 1й быстрее второго и намного
Select Id_PrM, CP_Num, Pr_PNum, Pr_Nos, Id_Pr
From Proj_Maks, Projekt
Where Proj_Maks.Id_Pr = Projekt.Id_Pr and
Not Exists (Select Id_Pr From Dar_Aprek Where Dar_Aprek.Id_Pr = Projekt.Id_Pr)
Order By Pr_PNum, CP_Num
Select Id_PrM, CP_Num, Pr_PNum, Pr_Nos, Id_Pr
From Proj_Maks, Projekt
Left Join Dar_Aprek on Dar_Aprek.Id_pr = Projekt.Id_Pr
Where Proj_Maks.Id_Pr = Projekt.Id_Pr and Dar_Aprek.Id_pr is null
Order By Pr_PNum, CP_Num
Stupid (2004-04-29 12:23:00) [2]Чем сейчас и занимаюсь
sniknik (2004-04-29 12:16:00) [3]советую кроме поиска пользоваться еще и головой и руками. ;)
проверь оба варианта на скорость на своих таблицах, и сам реши какой для тебя правильнее.
Stupid (2004-04-29 12:12:00) [4]Спасибо!!!
А какой вариант быстрее или правильнее?
Johnmen (2004-04-29 12:05:00) [5]http://www.sql.ru/forum/actualthread.aspx?bid=2&tid=9187
А вообще советую пользоваться поисковыми серверами...:)