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

Откуда:
Сообщений: 1744
Добрый день. У меня какое то подозрение что я не понимаю чего то совсем простое.
вот есть код обращения к вьюхе
SELECT *
FROM dm.[v_Документ реализации] WHERE partition in (2,3) and datepart(YEAR, Период)>=2018 and [ИдентификаторПродажиПострочно] = 119460150031170

возвращает строку

а вот такой код
SELECT *
FROM dm.[v_Документ реализации] WHERE [ИдентификаторПродажиПострочно] = 119460150031170

ничего не возвращает, хотя условий меньше.

Это как, он что внутрь вьюхи добавляет условия а не делает их поверх готовой выборки?
20 фев 21, 17:30    [22284183]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7433
ALOTE,

Планы совпадают?
20 фев 21, 17:34    [22284184]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
ALOTE
Member

Откуда:
Сообщений: 1744
env,
в одном месте сортировка на процент дороже
20 фев 21, 17:36    [22284185]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1507
ALOTE
ничего не возвращает
Вот тут совсем непонятно, что имеется ввиду? "Ничего не возвращает" - запрос не отрабатывает, падает с ошибкой, не возвращая результат? Или "Ничего не возвращает" - это успешно отрабатывает, но в результате пустое множество?
20 фев 21, 19:45    [22284230]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34716
Блог
ALOTE,

безотносительно вашего вопроса - так писать нельзя:

datepart(YEAR, Период)>=2018
20 фев 21, 19:58    [22284233]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
aleks222
Member

Откуда:
Сообщений: 1236
ALOTE
Добрый день. У меня какое то подозрение что я не понимаю чего то совсем простое.
вот есть код обращения к вьюхе
SELECT *
FROM dm.[v_Документ реализации] WHERE partition in (2,3) and datepart(YEAR, Период)>=2018 and [ИдентификаторПродажиПострочно] = 119460150031170

возвращает строку

а вот такой код
SELECT *
FROM dm.[v_Документ реализации] WHERE [ИдентификаторПродажиПострочно] = 119460150031170

ничего не возвращает, хотя условий меньше.

Это как, он что внутрь вьюхи добавляет условия а не делает их поверх готовой выборки?


Надо обучиться копировать.
20 фев 21, 19:59    [22284235]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
court
Member

Откуда:
Сообщений: 2240
Критик
ALOTE,

безотносительно вашего вопроса - так писать нельзя:

datepart(YEAR, Период)>=2018
чойта ? Картинка с другого сайта.
21 фев 21, 09:59    [22284350]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
iap
Member

Откуда: Москва
Сообщений: 47045
Лучше, конечно,
Период>='2018'
21 фев 21, 10:25    [22284355]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
IDVT
Member

Откуда:
Сообщений: 316
Типы данных проверьте, возможно у вас неявное преобразование против Вас работает.

[ИдентификаторПродажиПострочно] = 119460150031170
21 фев 21, 11:31    [22284358]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
ALOTE
Member

Откуда:
Сообщений: 1744
Щукина Анна,

Ничего не возвращает, значит не возвращает ничего. То есть пустой набор данных
21 фев 21, 11:50    [22284362]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
ALOTE
Member

Откуда:
Сообщений: 1744
Критик,

Можно
21 фев 21, 11:50    [22284363]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
aleks222
Member

Откуда:
Сообщений: 1236
1. Тредстартер известный чудак на известную букву.
2. Если это на самом деле происходит - база повреждена. Вероятно, один из индексов.
3. DBCC checkdb спасет отца русской демократии.
21 фев 21, 12:25    [22284368]     Ответить | Цитировать Сообщить модератору
 Re: дурацкий вопрос по view  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8313
Да, переиндексируйте. Индекс упал 99.9%. И база тоже сломана.
21 фев 21, 13:54    [22284392]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить