當我執行以下查詢:結束(分區)列未被識別。無效的列
SELECT
MH.MemberKey,
ROW_NUMBER() OVER(PARTITION BY MH.MemberKey ORDER BY MH.MemberKey ASC) AS "NewRow",
MH.FirstName,
MH.LastName,
MH.BirthDate,
MH.AddressLine1,
MH.AddressLine2,
MH.AddressLine3,
MH.City AS MemberCity,
MH.StateCode AS MemberState,
MH.ZipCode AS MemberZip
FROM MembershipHistory MH
WHERE NewRow = 1;
我得到以下錯誤:
Msg 207, Level 16, State 1, Line 36 Invalid column name 'NewRow'.
我試圖保持AS
,消除AS
,除去""
....似乎沒有任何工作。它只是不認識列。
謝謝。這似乎工作。儘管我通常沒有看到over子句的這種實現。奇怪。 –
@Sparsh好奇的是,你看到過的子句有哪些實現? –
@AaronBertrand通常,當您執行row_number over(partition by ....)時,別名將直接用於where子句以過濾數據。我不記得曾經使用子查詢來使用別名。 –