Вниз
Скачать: CL | DM;

Помогите составить запрос.   Найти похожие ветки 

 
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 )


Вариант 2
select 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
2-1190119267
artem779
2007-09-18 16:41
2007.10.14
Internet Explorer


4-1176372836
KrayM
2007-04-12 14:13
2007.10.14
Свой сервс


2-1190016964
Kolan
2007-09-17 12:16
2007.10.14
Exception в TObjectList при Add, из-за чего может быть?


15-1189674415
Евгеней
2007-09-13 13:06
2007.10.14
ПДД


11-1173758240
Galkov
2007-03-13 06:57
2007.10.14
TC_Insert




   Наверх