Sql里面的条件是“as”列

时间:2012-12-26 06:12:34

标签: sql sql-server sql-server-2008

我有这个问题:

SELECT Param1, Param2 AS P1
FROM SomeTable

我想做这样的事情:

WHERE P1 > 2

有办法做到这一点吗? 当然有一个查询而不是Param2。

7 个答案:

答案 0 :(得分:2)

WITH ABC
AS
(
SELECT Param1, Param2 AS P1
FROM SomeTable
)
SELECT * from ABC where P1>2

答案 1 :(得分:0)

您可以使用having

试试这个

select param1,param2 as p1
 from table
 having p1 > 2

答案 2 :(得分:0)

而不是使用having子句..

    SELECT Param1, Param2 AS P1 
     FROM SomeTable 
     having P1>2;

答案 3 :(得分:0)

您可以使用子查询:

SELECT Param1, P1
FROM
(
  SELECT Param1, Param2 AS P1
  FROM SomeTable
) src
WHERE P1 > 2

答案 4 :(得分:0)

答案 5 :(得分:0)

试试这个,

SELECT Param1, 
[P1] = Param2
FROM SomeTable
WHERE [P1] > 2

如果您正在使用ms sql,那么这应该可以正常工作

答案 6 :(得分:0)

HAVING不起作用。如上所述的公用表是一种很好的方法。