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

Откуда:
Сообщений: 7
Здравствуйте, имеется запрос, к базе
SELECT DISTINCT
FM_DISCOUNT.FM_DISCOUNT_ID
FROM
FM_DISCOUNT FM_DISCOUNT LEFT OUTER JOIN FM_SERV_DISCOUNT FM_SERV_DISCOUNT ON FM_DISCOUNT.FM_DISCOUNT_ID = FM_SERV_DISCOUNT.FM_DISCOUNT_ID
LEFT OUTER JOIN DIR_SERV DIR_SERV ON (DIR_SERV_ID = 0)
LEFT OUTER JOIN PATDIREC PATDIREC ON PATDIREC.PATDIREC_ID = DIR_SERV.PATDIREC_ID
WHERE
(FM_SERV_DISCOUNT.FM_SERV_ID = 11163 or PATDIREC.CITO = 1)

который должен выдавать пустой результат, но выдает все idы из fm_discount. Если убрать одно из условий из where, то получается пустой результат, т.е. то что и должно быть. Как такое может быть и куда копать? На всякий случай прилагаю план выполнения.
При чем при переносе базы на другой сервер запрос работает правильно, т.е. выдает ноль строк, но при этом в плане перед заключительным селектом присутствует Filter.

К сообщению приложен файл. Размер - 51Kb
23 июн 14, 13:59    [16206408]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Сюда копать:
LEFT OUTER JOIN DIR_SERV DIR_SERV ON (DIR_SERV_ID = 0)
23 июн 14, 14:02    [16206448]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7
К сожалению запрос поменять не могу. Да и почему тогда на разных серверах выполняется по разному?
23 июн 14, 14:05    [16206482]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Byrbl
К сожалению запрос поменять не могу.
А что вы тогда менять можете?
Byrbl
Да и почему тогда на разных серверах выполняется по разному?
Один и тот же запрос и на одном сервер может выдавать разные результаты. Это нормально.
23 июн 14, 14:09    [16206500]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
iap
Member

Откуда: Москва
Сообщений: 47047
Если
WHERE FM_SERV_DISCOUNT.FM_SERV_ID = 11163
, то зачем
LEFT OUTER JOIN FM_SERV_DISCOUNT
???
23 июн 14, 14:09    [16206503]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7
Запрос от внешней программы, внести изменения в которую нельзя.
При переносе базы на новый сервер, результат запроса получается другой, что сказывается на функционале, хотелось бы, чтоб все было по старому.
23 июн 14, 14:13    [16206538]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7
Таблица fm_serv_discount пустая, в patdirec записей с cito=1 нет.
23 июн 14, 14:15    [16206546]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Покажите нормальный план выполнения в текстовом или xml виде.
23 июн 14, 14:17    [16206559]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Еще select @@version покажите.
23 июн 14, 14:17    [16206561]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7


К сообщению приложен файл (Plan.xml - 25Kb) cкачать
23 июн 14, 14:20    [16206578]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1)
23 июн 14, 14:20    [16206582]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Byrbl
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1)
Уже три сервиспака для сервера вышло, в rtm и не такие ошибки бывают.
23 июн 14, 14:24    [16206605]     Ответить | Цитировать Сообщить модератору
 Re: Глючный результат выполнения запроса  [new]
Byrbl
Member

Откуда:
Сообщений: 7
Понятно. Спасибо.
23 июн 14, 14:25    [16206613]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить