2016-09-08 3 views
0

Так позволяет сказать, у меня есть этот код:SQL 2008 - Вызов по имени формулы

Select 
'Position Date' =    todaypositiondate 
,'Realized' =   round(sum(realizedccy*spotsek),0) 

FROM T1 
    group by todaypositiondate 
    order by todaypositiondate desc 

Если я тусклый, чтобы разделить «Реализовано» с 100. Как я могу установить 'new' = 'Realized'/100 вместо 'new' = (round(sum(realizedccy*spotsek),0))/100?

С наилучшими пожеланиями

+0

Почему вы хотите сделать это? Это возможно, но требуется больше шагов и больше кода. – scsimon

ответ

1

Не знаю, почему вы хотите сделать это, но вот один из способов использования CTE. Вы также можете использовать подзапросы, но оба эти шага довольно бессмысленны для математики, которую вы хотите сделать, и уменьшите производительность. Вы не можете ссылаться на псевдоним столбца с помощью псевдонима в том же самом заявлении, что и вы. Это включает в себя ссылки на это в where или group by или order by положений

;with cte as(
Select 
    todaypositiondate as 
    round(sum(realizedccy*spotsek),0) as Realized 
from T1 
    group by todaypositiondate 
    order by todaypositiondate desc) 

select 
    todaypositiondate, 
    Realized, 
    Realized/100 as RealizedDivHundred 
from cte