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

Откуда:
Сообщений: 288
Добрый день.
Есть запрос, удаляющий документы, определенного типа из таблицы. Необходимо соединить данный запрос с таблицей контрагентов, и удалять документы по определенному контрагенту (мне известен IDD контрагента в таблице контрагентов, а в таблице документов мне известен код контрагента).

Delete
from Documents
where (DocTypId = 2)

Как в данный запрос добавить подобное соединение?
14 окт 09, 09:19    [7782396]     Ответить | Цитировать Сообщить модератору
 Re: Нарисовать левое соединение  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Delete 
from Documents
where (DocTypId = 2) and Cod in (select Cod from Kontragent where IDD=?)
14 окт 09, 09:22    [7782407]     Ответить | Цитировать Сообщить модератору
 Re: Нарисовать левое соединение  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
для 2005+
Delete 
from
Documents d
inner join Kontragent k on k.Cod=d.Cod
where
d.DocTypId = 2
and k.IDD=?
--------------------------------------------------------------
Дьявол кроется в деталях.
14 окт 09, 09:41    [7782483]     Ответить | Цитировать Сообщить модератору
 Re: Нарисовать левое соединение  [new]
Aragornych
Member

Откуда:
Сообщений: 288
Благодарю.
Я так понимаю - оба варианта рабочие? А в чем различие? Который быстрее работает?
PS: Сделал пока первым способом.
14 окт 09, 09:55    [7782552]     Ответить | Цитировать Сообщить модератору
 Re: Нарисовать левое соединение  [new]
stimpi
Member

Откуда: Киев, Украина
Сообщений: 662
Aragornych
Я так понимаю - оба варианта рабочие? А в чем различие? Который быстрее работает?


Все зависит от оптимизатора в сервере, а так второй быстрее если будут индексы.
Так же он будет работать и на 2000 сервере
Delete d
from
Documents d
inner join Kontragent k on k.Cod=d.Cod
where
d.DocTypId = 2
and k.IDD=?
14 окт 09, 10:05    [7782614]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить