我有這個疑問:SQL WHERE條件「爲」
SELECT Param1, Param2 AS P1
FROM SomeTable
我想要做這樣的事情:
WHERE P1 > 2
有辦法做到這一點? 當然有一個查詢,而不是Param2。
我有這個疑問:SQL WHERE條件「爲」
SELECT Param1, Param2 AS P1
FROM SomeTable
我想要做這樣的事情:
WHERE P1 > 2
有辦法做到這一點? 當然有一個查詢,而不是Param2。
,而不是在那裏having子句中使用..
SELECT Param1, Param2 AS P1
FROM SomeTable
having P1>2;
誰投了這個,爲什麼?無效的語法 – Bohemian
WITH ABC
AS
(
SELECT Param1, Param2 AS P1
FROM SomeTable
)
SELECT * from ABC where P1>2
您可以使用子查詢:
SELECT Param1, P1
FROM
(
SELECT Param1, Param2 AS P1
FROM SomeTable
) src
WHERE P1 > 2
閱讀本,進行了詳細的explanantion:
拉吉
試試這個,
SELECT Param1,
[P1] = Param2
FROM SomeTable
WHERE [P1] > 2
如果您使用MS SQL這應該工作
HAVING
將無法工作。如上所述的公共表是一個很好的方法。
爲什麼不使用Param2代替P1? –
可能的重複http://stackoverflow.com/questions/3096301/sql-server-as-statement-aliased-column-within-where-statement – NullRef
性能注意:「HAVING」子句中的謂詞僅在行已經返回,幾乎是執行計劃的最後一步。 'WHERE'子句中的等價謂詞可能能夠利用索引來避免搜索條件的每一行。 – spencer7593