2012-02-10 3 views
0

공통 테이블 식에 대한 쿼리에 정의 된 임시 열에 액세스 할 수 있습니까? 과 같이 CTE를 쿼리 할 때 임시 열 FourTimesSalary를 사용하는 방법이 있나요 내가T-SQL : 공통 테이블 식의 임시 열 액세스

select * from myTable 

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

을 말해봐?

select top 2 * 
from cte 
order by FourTimesSalary, Name 

TIA.

답변

1

네, 그렇게 할 수 있습니다. 예 :

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 

귀하의 예를 들어 당신이 그 또는 뭔가를 시도 할 때 오류가 않았다, 잘 보인다?

+0

예, 오류로 인해 열 이름 FourTimesSalary가 정의되지 않았습니다. 그것은 내 쿼리 문 내에서 문제가 밝혀졌다. –