所以我有這個代碼我想出來添加一個行列,但是,當我嘗試按行列過濾時,它說'無效的列名'行」。如果我刪除底部的WHERE子句,則代碼按預期運行。不知道我做錯了什麼。爲什麼我不能用WHERE子句過濾我的行列
SELECT
ROW_NUMBER() OVER(ORDER BY a.JobNo) AS [Row],
a.JobNo,
a.PartNo,
a.WorkCntr,
a.StepNo
FROM
(SELECT DISTINCT TOP 1000 r.JobNo,
r.PartNo,
r.WorkCntr,
r.StepNo
FROM OrderRouting r
RIGHT JOIN Scheduling s ON r.JobNo = s.JobNo
WHERE r.WorkCntr = 'Z-Straight'
AND (r.Status = 'Current' OR r.Status = 'Pending' OR r.Status = 'Future')
AND r.JobNo NOT LIKE '10415%'
AND r.JobNo NOT LIKE '44444%'
AND r.JobNo NOT LIKE '77777%'
ORDER BY r.JobNo
) a
WHERE a.Row > 10
感謝您的解釋,你的代碼的偉大工程 –
在大數據量的情況下,您的查詢將執行非常糟糕。 – SouXin
@SouXin同意,不確定是否屬實。只專注於解釋爲什麼它不適用於OP – Horaciux