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

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

Помогите с sql запросом [D7, XP]


Tany ©   (2009-04-07 20:52:00) 

Мастера здрасте, кто в курсе посоветуйте

постановка задачи:
 есть две даблицы одинаковой структуры



TABLE `ONE`                     TABLE `TWO`
 ID|TELEFON|NAME              ID|TELEFON|NAME
  1|340021  |name1              1 |903889  | name2      


вот нужно вывести какие телефоны из таблицы `ONE` не содержаться
в таблицы `TWO`(примечание: в поле TELEFON, телефоны могут повторяться).

конечно можно взять первую таблицу, сгруппировать по полю TELEFON
и в цикле делать select ко второй таблице "собирая" пустые резулататы

А можно ли сделать это одним SQL запросом?


AndreyV   (2009-04-08 10:34:00) [1]

> [10] Tany   (07.04.09 23:04)
> нет не было, конечно знала что с индексами быстрее но не
> знала что на столько

Ага, а я ведь хотел про индекс упомянуть, да отчего-то воздержался.:)


Ega23   (2009-04-08 10:31:00) [2]


> Три порядка конечно впечатляют!


По текстовому полю - влёгкую!


Anatoly Podgoretsky   (2009-04-08 10:21:00) [3]

> Ega23  (08.04.2009 10:12:11)  [11]

Три порядка конечно впечатляют!


Ega23   (2009-04-08 10:12:00) [4]


> но не знала что на столько


Век живи - век учись


Tany   (2009-04-07 23:04:00) [5]

Запрос занял 0.0012 секпосле
Запрос занял 1.0108 секдо

правда не на всех записях но все же

> Anatoly Podgoretsky ©   (07.04.09 22:52) [9]

нет не было, конечно знала что с индексами быстрее но не знала что на столько


Anatoly Podgoretsky   (2009-04-07 22:52:00) [6]

> Tany  (07.04.2009 22:47:07)  [7]

Есть ли индекс по полю telephon


Игорь Шевченко   (2009-04-07 22:50:00) [7]


> Этот сапрос отстанавливает часы на трее где-то на час


наверное нужно сделать индекс, а если записи повторяются, то сказать select distinct


Tany   (2009-04-07 22:47:00) [8]

select t1.telephon
from t1
where t1.telephon not in (select t2.telephon from t2)


Этот сапрос отстанавливает часы на трее где-то на час

таблички около 60 тыс записей каждая


Tany   (2009-04-07 21:13:00) [9]


> AndreyV ©   (07.04.09 21:09) [4]

Оооо спасибо оно not inнужно подналечь на справочку, Спасибо


b z   (2009-04-07 21:10:00) [10]

distinct + where not exists
?


AndreyV   (2009-04-07 21:09:00) [11]

select t1.telephon
from t1
where t1.telephon not in (select t2.telephon from t2)


Tany   (2009-04-07 21:04:00) [12]

ну вот те которые совпадают можно сделать хотя бы и через
параметры
select p1.telefon where p1.telefon = p2.telefon, а вот как наоборот ((


Tany   (2009-04-07 20:58:00) [13]


> не знаю. СУБД не указана

mysql или FireBird&InterBase
лучше на mysql!


Игорь Шевченко   (2009-04-07 20:56:00) [14]


> А можно ли сделать это одним SQL запросом?


не знаю. СУБД не указана


Наверх

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