T-SQL: доступ к временному столбцу в выражении общих таблиц - PullRequest
0 голосов
/ 11 февраля 2012

Можно ли получить доступ к временному столбцу, который был определен в запросе для общего выражения таблицы? Скажи, что у меня есть

select * from myTable 

;with cte  as 
(
    select
        *, Salary * 4 as FourTimesSalary
    from 
        Employees
    where 
        Name = @name
        and ID >= 100 
)

Есть ли способ использовать временный столбец FourTimesSalary при запросе cte следующим образом?

select top 2 *  
from cte  
order by FourTimesSalary, Name

ТИА.

1 Ответ

1 голос
/ 11 февраля 2012

Да, вы можете сделать это.Пример:

with temp as
(
    select 1 as id, 2*4 as val
    UNION
    select 2 as id, 3*4 as val
)
SELECT * FROM temp ORDER BY VAL desc

Ваш пример выглядит нормально, вы получили ошибку, когда пытались это сделать или что-то еще?

...