Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.01.2002, 05:15
|
|||
---|---|---|---|
Помогите с SQL - запросом |
|||
#18+
Как показать те записи в таблице 1 которые отсутсвуют в таблице 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2002, 11:13
|
|||
---|---|---|---|
Помогите с SQL - запросом |
|||
#18+
По-моему так: 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 - я не знаю. Во всяком случае проверить недолго. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.01.2002, 22:32
|
|||
---|---|---|---|
|
|||
Помогите с SQL - запросом |
|||
#18+
SELECT * FROM OPLAT082001 LEFT OUTER JOIN OPLAT092001 ON (OPLAT082001.LCHET = OPLAT092001.LCHET) WHERE ( (OPLAT092001.LCHET IS NULL ) ) выбирает записи из таблицы OPLAT082001 по лицевым счетам которых нет в OPLAT092001 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1581296]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 461ms |
0 / 0 |