2

私のクエリはこのようなものです。

select id,name,salary,(salary-2000) AS [Deductedsalary]  
from EmployeeDetails

以下のクエリのように、where 句で [Deductedsalary] 列を使用したいと考えています。

select 
    id, name, salary, (salary-2000) AS [Deductedsalary]  
from 
    EmployeeDetails 
where 
    [Deductedsalary] > 5000

注: 'salary' 列でフィルター クエリを使用したくない

4

4 に答える 4

2

直接行うことはできません-基になるSalary列でフィルター処理するか、CTE のようなものを使用する必要があります。

WITH CTE AS 
(
   SELECT
       id, name, salary, 
       DeductedSalary = salary - 2000
   FROM
       dbo.EmployeeDetails 
)
SELECT 
   id, name, salary, DeductedSalary
FROM 
   CTE
WHERE
   [Deductedsalary] > 5000
于 2013-05-04T11:08:14.810 に答える