Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом.....  [new]
bigmouse
Member

Откуда: Ростов-на-Дону
Сообщений: 102
Доброго времени суток!
Делаю запрос и что-то неправильно
Есть две базы:
Первая D, скажем - справочник с уникальными записями
id name
1 zzzzz
2 xxxxxx
3 ssssss

Вторая база K
idd namek sum
1 111111 111111
1 2222 2222222
1 33333 333333
2 111111 111112
2 4444444 333333
..............
Мне надо выбрать все записи из базы К, которые по idd <> id из D, т.е. все записи из К idd которых не равныны ни одному id из D
----------------------------------------------------
Изначально в D 6 строк, в К - 74
При выборке должен получить не более 74-х или 0
-------------------------------------------------
select * into #pl
from K inner join D
ON ( K.ids_plan ! = D.id_plan)
И вот не получаю нужного результата. В чём я не прав?
10 сен 03, 15:34    [333531]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом.....  [new]
bushmen
Member

Откуда: г. Москва
Сообщений: 828
select * from K where idd not in (select id from D)
10 сен 03, 15:38    [333538]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом.....  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
Во первых не базы, а таблицы.
Во вторых все записи из К idd которых не равныны ни одному id из D реализуется так
 select * 

from K
where not exists (select 1 from D where id = idd)

-- или так

select *
from K
where idd <> ANY (select id from D)

-- или так

select *
from K
where idd NOT IN (select id from D)

-- или так

select K.*
from K left outer join D on id = idd
where id is null

ну или ещё как нибудь..
10 сен 03, 15:45    [333554]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом.....  [new]
bigmouse
Member

Откуда: Ростов-на-Дону
Сообщений: 102
Спасибо всем за помощь
10 сен 03, 16:21    [333633]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить