Форум: "Базы";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
ВнизПомогите составить запрос. Найти похожие ветки
← →
ambhtr (2007-06-05 16:21) [0]Есть две таблицы:
одна - список отделений фирмы (OPS.dbf),
другая - список с корреспоненцией от этих отделений за какой-то период (за май NovMay07.dbf)
В обоих таблицах есть поле - код отделения (OPS_Kod).
Нужно составить запрос, который бы выбирал в таблице отделений фирмы, те из них, которых нет в таблице корреспонденции, т.е. тех, кто не успел прислать свои файлы.
Попробовал такой запрос:
select O.OPS_Kod, O.OPS_NAME
from OPS O, NovMay07 N
where O.OPS_Kod <> N.OPS_Kod
получается, что растет временных SQL файл, а затем программа просто "выпадает".
← →
Val © (2007-06-05 16:29) [1]select O.OPS_Kod, O.OPS_NAME
from OPS O
where O.OPS_Kod not in (select distinct N.OPS_Kod from NovMay07 N)
или через exists, что больше нравится.
← →
Desdechado © (2007-06-05 16:30) [2]Вариант 1
select O.OPS_Kod, O.OPS_NAME
from OPS O
where O.OPS_Kod NOT IN( SELECT N.OPS_Kod FROM NovMay07 N )
Вариант 2select DISTINCT O.OPS_Kod, O.OPS_NAME
from OPS O LEFT OUTER JOIN NovMay07 N ON O.OPS_Kod = N.OPS_Kod
WHERE N.OPS_Kod IS NULL
← →
ambhtr (2007-06-05 17:40) [3]Всем спасибо!
Остановился на варианте:
select O.OPS_Kod, O.OPS_NAME
from OPS O
where O.OPS_Kod not in (select distinct N.OPS_Kod from NovMay07 N)
← →
Sergey13 © (2007-06-06 08:28) [4]Вариант 3
select O.OPS_Kod, O.OPS_NAME
from OPS O
where NOT EXISTS ( SELECT 1 FROM NovMay07 N Where O.OPS_Kod = N.OPS_Kod)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c