Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
ВнизПомогите составить запрос Найти похожие ветки
← →
zrv (2004-09-01 16:05) [0]Есть две таблицы Oper и Spec. В Oper есть поле Rn в Spec поля Prn,Date,Sck. Нужен запрос который выдает все записи из Spec за дату с 01.06.2004 по 30.06.2004 и Sck=401 у которых не нашлось соответствия Prn из Spec - Rn из Oper (те значение Prn не нашлось ни разу в Rn таблицы Oper). База оракловая.
← →
Роман Снегирев (2004-09-01 16:08) [1]тебе на www.sql.ru
← →
Sergey13 © (2004-09-01 16:26) [2]Нечто вроде
select * from spec s
where date between "01.06.2004" and "30.06.2004" and Sck=401
and not exists (select * from oper o where o.rn=s.prn)
ЗЫ: Но поля лучше не называть Date,Index и т.п.
← →
sniknik © (2004-09-01 16:29) [3]select a.Prn,a.Date,a.Sck
from Spec a inner left Oper b on a.Prn=b.Pn
where (a.Date between :bdat and :edat) and (a.Sck=401) and (b.Rn is null)
должно сработать... в принципе (запрос без оракловской "специфики"), нужные даты загнать в параметры.
← →
sniknik © (2004-09-01 16:31) [4]нда... ;о)
"inner left" читать как "left join"
← →
Zabludshiy (2004-09-01 16:37) [5]
SELECT * FROM ызус where DATE>="17-ìàé-2004" and DATE<="4-èþí-2004" and sck = 170 and id_col not in (select rn from oper)
← →
Zabludshiy (2004-09-01 16:41) [6]sorry,
SELECT * FROM OPER where DATE>="17-июн-2004" and DATE<="4-май-2004" and sck = 170 and id_col not in (select rn from oper)
Вроде того.
Ну, с форматом дат надеюсь сам расберешся TO_DATE?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c