Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
21.11.2012, 10:56 | #1 |
Пользователь
Пол: Регистрация: 13.10.2008
Сообщений: 38
Репутация: 4
|
Сложный запрос adoquery
Помогите, плиз, составить запросик:
есть две таблицы dbf. В одно около 12000 записей, в другой 341. Необходимо из первой таблицы исключить все записи второй таблицы по двум полям (все 341 записи есть в первой таблице). Делаю так: select table1.* from table1 left join table2 on table1.поле1 <> table2.поле1 and table1.поле2 <> table2.поле2 Запрос выполняется минут двадцать, грузит проц на 100% и в результате выдет 3 млн строк!!! Ниче не пойму. |
Реклама: | щетка для гриля металлическая bbqstore.ru | фотоотбеливание зубов в москве | смесительный узел surp 40-1.6 | Conecte Livestorm a Sage Accounting | металлические шкафы москва аргумет |
22.11.2012, 09:22 | #2 |
Пользователь
Пол: Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
|
Re: Сложный запрос adoquery
SELECT * FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.pole1 = table2.pole1 AND table1.pole2 = table2.pole2)
Если я правильно понял, то наверное так... |
Сказали спасибо: |
22.11.2012, 10:33 | #3 |
Пользователь
Пол: Регистрация: 13.10.2008
Сообщений: 38
Репутация: 4
|
Re: Сложный запрос adoquery
Спасибо, работает. А я придумал вот так - тоже работает: SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.pole1 = table2.pole1 and table1.pole2 = table2.pole2 WHERE table2.pole1 IS NULL and table2.pole2 is null |
22.11.2012, 10:42 | #4 |
Пользователь
Пол: Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
|
Re: Сложный запрос adoquery
SQL-запросы сильная штука...
Удачи))) |
03.11.2014, 20:59 | #5 |
Новичок
Пол: Регистрация: 03.11.2014
Сообщений: 16
Репутация: 1
|
Re: Сложный запрос adoquery
1) Добавляем индексы на столбцы, если возможно.
2) В вашем запросе, излишен table2.pole1 IS NULL 3) используем not in , но EXISTS оптимален. 3) в оракле есть minus 4) mssql EXCEPT http://msdn.microsoft.com/ru-ru/library/ms188055.aspx -- изучайте sql-ex.ru там есть все, что нужно. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MySQL сложный запрос | Nik555 | Базы данных | 1 | 20.07.2011 09:28 |
ADOQuery + DBGridEh | Litvinenko_A | Delphi | 8 | 01.12.2009 14:48 |
> Сложный запрос в MySQL | TITANiusIK | Веб - Программирование | 1 | 11.08.2009 15:42 |
SQL Запрос McAccess2007 (Запрос с 3 таблиц - дублирование ) | Dr Evil | Базы данных | 3 | 23.07.2009 10:06 |
|
|