powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с SQL - запросом
3 сообщений из 3, страница 1 из 1
Помогите с SQL - запросом
    #32020389
Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как показать те записи в таблице 1 которые отсутсвуют в таблице 2
...
Рейтинг: 0 / 0
Помогите с SQL - запросом
    #32020550
david
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему так:
SELECT *
FROM <таблица1>
WHERE <первичный ключ> <> ALL (
SELECT <тот же ключ в таблице2(скорее всего это foreign key)>
FROM <таблица2>
);
Или еще один вариант:
SELECT *
FROM <таблица1>
WHERE NOT <первичный ключ> = ANY (
SELECT <тот же ключ в таблице2(скорее всего это foreign key)>
FROM <таблица2>
);
У меня такое ощущение, что второй вариант будет работать эффективнее, т.к. просмотр в нем будет вестись до первого попавшегося совпадения.
А вообще в стандарте SQL есть такой вариант:
SELECT <столбец1>, [<столбец2>]
FROM <таблица1>
EXCEPT
SELECT <столбец1>, [<столбец2>]
FROM <таблица2>;
Это по-моему идеальный вариант, он точно будет работать в Oracle, но работает ли он в IB - я не знаю. Во всяком случае проверить недолго.
...
Рейтинг: 0 / 0
Помогите с SQL - запросом
    #32020761
YuriyR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT * FROM OPLAT082001
LEFT OUTER JOIN OPLAT092001 ON (OPLAT082001.LCHET = OPLAT092001.LCHET)
WHERE
(
(OPLAT092001.LCHET IS NULL )
)
выбирает записи из таблицы OPLAT082001 по лицевым счетам которых нет в OPLAT092001
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с SQL - запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]