Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: 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 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1189796974
AlRal
2007-09-14 23:09
2007.10.14
Поставить один GroupBox над другим


3-1181295469
DelphiLexx
2007-06-08 13:37
2007.10.14
XML - сохранение данных из БД


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


15-1189659867
жук_
2007-09-13 09:04
2007.10.14
жук


2-1189697851
Ezorcist
2007-09-13 19:37
2007.10.14
Проверить является ли строка числом?