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

Откуда:
Сообщений: 71
Здравствуйте!
Есть запрос в котором одно из полей вычисляемое с помощью функции.
SELECT TOP(10) a.client_name, a.prim, b.client_name AS filial_name,
dbo.Func_Value_Assets('дата', a.Client_ID) AS value_assets, a.phone, a.fax
FROM client a
INNER JOIN client b
ON a.Client_Sum_Filial = b.Client_ID
WHERE ( (a.IsAgent <> -1 OR a.IsAgent IS NULL) AND (a.IsFilial <> -1 OR a.IsFilial IS NULL) AND (a.prim IS NOT NULL) )
ORDER BY a.CLient_Name

Как в WHERE задать условие на вычисляемое поле value_assets, если это невозможно какие есть варианты...
26 ноя 12, 17:15    [13531337]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на вычисляемое поле  [new]
Glory
Member

Откуда:
Сообщений: 104760
and dbo.Func_Value_Assets('дата', a.Client_ID) ...

или

select * from
(select ... dbo.Func_Value_Assets('дата', a.Client_ID) AS value_assets...) as X
where X.value_assets ...
26 ноя 12, 17:19    [13531367]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на вычисляемое поле  [new]
hanko_nikita
Member

Откуда:
Сообщений: 71
В обоих случаях функция будет вызываться дважды???
26 ноя 12, 17:25    [13531426]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на вычисляемое поле  [new]
Glory
Member

Откуда:
Сообщений: 104760
hanko_nikita
В обоих случаях функция будет вызываться дважды???

нет. План выполнения покажет
26 ноя 12, 17:28    [13531459]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение на вычисляемое поле  [new]
hanko_nikita
Member

Откуда:
Сообщений: 71
Спасибо!
26 ноя 12, 17:46    [13531608]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить