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

Откуда:
Сообщений: 6
Коллеги, почему запрос в последней строке выполняется без ошибок?

if object_id('tbl_1') is not null drop table tbl_1
if object_id('tbl_2') is not null drop table tbl_2

create table tbl_1(docid int)
create table tbl_2(id int)

select * from tbl_1 where docid in (select docid from tbl_2)


Буду благодарен за разъяснения
10 фев 16, 14:31    [18799208]     Ответить | Цитировать Сообщить модератору
 Re: Баг или фича?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Потому что написаное можно трактовать как:
select * from tbl_1 a where docid in (select a.docid from tbl_2)
10 фев 16, 14:35    [18799237]     Ответить | Цитировать Сообщить модератору
 Re: Баг или фича?  [new]
Glory
Member

Откуда:
Сообщений: 104751
guest1187
Буду благодарен за разъяснения

А где там _должна_ быть ошибка ?
Если вы про поле docid, так в подзапросе доступны все поля и внешнего запроса
10 фев 16, 14:36    [18799246]     Ответить | Цитировать Сообщить модератору
 Re: Баг или фича?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
сие не баг или фича - сие баян
10 фев 16, 14:38    [18799261]     Ответить | Цитировать Сообщить модератору
 Re: Баг или фича?  [new]
guest1187
Member

Откуда:
Сообщений: 6
Спасибо, вопрос закрыт)
10 фев 16, 14:41    [18799287]     Ответить | Цитировать Сообщить модератору
 Re: Баг или фича?  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Maxx
сие не баг или фича - сие баян
Закон природы! :))
10 фев 16, 14:51    [18799358]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить