|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.04.2007, 12:52 | #1 |
Регистрация: 27.04.2007
Сообщений: 7
|
Помогите с SQL запросом.
У меня такая пробема... есть 2 таблицы. В них есть одинаковые поля. Мне надо чтобы из одной таблицы вибирались только те значения, которых нет в другой.
....................вот мой код.............. SELECT Lgota.IDLg, Lgota.Nazv FROM "D:\2\\Lgota.db" Lgota, "D:\2\\pro.db" Pro WHERE Lgota.Nazv <> Pro.Lgots ................... у меня в первой таблице числа 1 и 2..... и во второй 1 2 3.... в результате этого запроса выводятся числа 2 3 1 3..... а надо 3! Помогите чайнику!) |
27.04.2007, 13:38 | #2 |
Форумчанин
Регистрация: 18.04.2007
Сообщений: 135
|
SELECT IDLg, Nazv FROM "D:\2\\Lgota.db"
WHERE Nazv not in (SELECT Lgots FROM "D:\2\\Pro.db") |
27.04.2007, 13:58 | #3 |
Регистрация: 27.04.2007
Сообщений: 7
|
Хммм...... теперь выводится 1 2 2
Последний раз редактировалось Monoflextor; 27.04.2007 в 14:06. |
27.04.2007, 14:49 | #4 |
Форумчанин
Регистрация: 18.04.2007
Сообщений: 135
|
Хммм....специально создал две таблицы с таким же содержанием
Всё работает... |
27.04.2007, 16:21 | #5 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
SELECT Lgots from "D:\2\\pro.db"
MINUS SELECT Nazv from "D:\2\\Lgota.db" У этого запроса есть один весьма существенный минус - он не будет работать, если в первой таблице меньше записей чем во второй, а в остальном все достаточно тривиально.
Не надо ничего усложнять. Все достаточно тривиально.
|
27.04.2007, 16:51 | #6 |
Регистрация: 27.04.2007
Сообщений: 7
|
Что-то у меня ни один способ не работает...
|
27.04.2007, 18:02 | #7 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Ты на какой базе используешь эти запросы?
Не надо ничего усложнять. Все достаточно тривиально.
|
27.04.2007, 21:32 | #8 |
Регистрация: 27.04.2007
Сообщений: 7
|
|
28.04.2007, 02:04 | #9 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
SELECT Pro.Lgots from "D:\2\\pro.db" Pro where
not (Pro.Lgots in (select Lgota.Nazv FROM "D:\2\\Lgota.db" Lgota)) Мдя. К сожалению, тот код что я описал раньше не тестировался на Paradox-е, он тестировался на другой базе. Вот этот код тебе скорее всего подойдет.
Не надо ничего усложнять. Все достаточно тривиально.
|
28.04.2007, 08:49 | #10 |
Регистрация: 27.04.2007
Сообщений: 7
|
Вроде что-то есть, но... в первый раз результат выводится нормальный, но когда меняется база Pro.db и я апять делаю запрос, то выводятся данные которые показывались в первый раз... может как-то нужно обновить запрос или еще что-то... подскажите если знаете... заранее спасибо.
......................мой код................... form8.Query1.Active:=false; form8.Query1.SQL.clear; form8.Query1.SQL.Add('select Lgota.Nazv FROM "D:\2\\Lgota.db" Lgota where not (Lgota.Nazv in (SELECT Pro.Lgots from "D:\2\\pro.db" Pro))'); form8.Query1.Active:=true; |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с запросом | Viper666 | Microsoft Office Access | 2 | 14.05.2008 22:35 |
Помогите с запросом | Айвенго | Microsoft Office Access | 3 | 08.05.2008 09:07 |
Помогите с запросом | Blackmore | БД в Delphi | 3 | 07.05.2008 01:18 |
SQL. Помогите с запросом. | fluxion | БД в Delphi | 2 | 27.12.2007 08:01 |
помогите с запросом | 9-11 | БД в Delphi | 4 | 20.11.2006 10:04 |