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

Откуда:
Сообщений: 271
Здравствуйте!
Непонятная работа с подзапросом.
Версия Microsoft SQL Server 2012 - 11.0.5058.0 (X64) Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: )
Запрос:
select * from tblNumberOrder where ShipmentID in (select ID from tblShipments where IsBackOrder = 1) - не выводит ничего.
условие подзапроса: select ID from tblShipments where IsBackOrder = 1 - данные есть.
запрос вида select * from tblNumberOrder where ShipmentID in (1098, 1104) - тоже не выводит. Ид 1098, 1104 соответствуют действительности.
В чем может быть проблема?
20 авг 14, 09:46    [16466323]     Ответить | Цитировать Сообщить модератору
 Re: Подзапрос  [new]
Sliva
Member

Откуда:
Сообщений: 271
Поправлюсь.
Версия Microsoft SQL Server 2012 - 11.0.5058.0 (X64) Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: )
запрос не выводит ничего
select * from tblNumberOrder where ShipmentID in (select ID from tblShipments where IsBackOrder = 1)

условие запроса (подзапрос) данные выводит
 select ID from tblShipments where IsBackOrder = 1

в таком варианте тоже не выводит. Ид 1098, 1104 соответствуют действительности
select * from tblNumberOrder where ShipmentID in (1098, 1104)

в чем может быть проблема?
20 авг 14, 09:51    [16466342]     Ответить | Цитировать Сообщить модератору
 Re: Подзапрос  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
В том, что в таблице tblNumberOrder нет записей с ShipmentID=1098 и ShipmentID=1104.
В чём же ещё?

Однако, желательно писать имена таблиц с именами схем.
В данном-то случае всё равно, конечно...
20 авг 14, 09:55    [16466359]     Ответить | Цитировать Сообщить модератору
 Re: Подзапрос  [new]
Sliva
Member

Откуда:
Сообщений: 271
iap,

спасибо.
Разобрался.
Проблема была в том, что при условии IsBackOrder = 1 ссылаемся на заказ не напрямую, а через др. таблицу.
P.S. ох уж это наследие предшественников.
20 авг 14, 10:04    [16466416]     Ответить | Цитировать Сообщить модератору
 Re: Подзапрос  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Sliva
iap,

спасибо.
Разобрался.
Проблема была в том, что при условии IsBackOrder = 1 ссылаемся на заказ не напрямую, а через др. таблицу.
P.S. ох уж это наследие предшественников.
А могло получиться так, что есть несколько таблиц с одним именем, но с разными схемами.
И обращение идёт не к тем таблицам, о которых Вы думаете.
20 авг 14, 11:37    [16466998]     Ответить | Цитировать Сообщить модератору
 Re: Подзапрос  [new]
Wlr-l
Member

Откуда:
Сообщений: 522
Sliva, "ох уж это наследие предшественников".
Конечно, все можно свалить на предшественников.
Что будут говорить о те, которые придут после вас? Скорее всего о "наследии".
20 авг 14, 14:14    [16468349]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить