Sql server 2008 如何在sql语句中使用别名作为变量

Sql server 2008 如何在sql语句中使用别名作为变量,sql-server-2008,alias,Sql Server 2008,Alias,我有一条语句,希望在sql语句中使用alias的值。我怎么用这个。是否有任何可能的方法使用别名值 SELECT ORDERID ,clientnum,ID, READYDATE, case when ID=56 then 'O' ELSE CASE when ID=65 then 'A' ELSE 'NONE' END END AS LOctaion -- want to use this alias below in where clause from orde_ w

我有一条语句,希望在sql语句中使用alias的值。我怎么用这个。是否有任何可能的方法使用别名值

   SELECT ORDERID ,clientnum,ID, READYDATE,
case when ID=56 then 'O'
ELSE
CASE when ID=65 then 'A'
ELSE
  'NONE'
END 

END 
 AS LOctaion  -- want to use this alias below in where clause 

from orde_

where READYDATE='2014-05-09' AND  LOctaion='A' 
这可能吗?我该怎么做。感谢您的评论

您可以这样做:

SELECT
    *
FROM
(
    SELECT 
        ORDERID ,
        clientnum,
        ID, 
        READYDATE,
        (
        case when ID=56 then 'O'
        ELSE
        CASE when ID=65 then 'A'
        ELSE
          'NONE'
        END 
        END) AS LOctaion

    from orde_
) AS tbl
where tbl.READYDATE='2014-05-09' AND  tbl.LOctaion='A' 
看看为什么这不起作用。