在WHERE子句中引用列別名
在處理資料庫查詢時,在WHERE子句中引用列別名有時會導致錯誤。這是因為別名通常在WHERE子句評估後才會套用。考慮以下查詢:
SELECT logcount, logUserID, maxlogtm , DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary WHERE daysdiff > 120
括號/子查詢:
SELECT * FROM ( SELECT logcount, logUserID, maxlogtm, DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary ) as innerTable WHERE daysdiff > 120
CTE:
WITH CTE AS ( SELECT logcount, logUserID, maxlogtm, DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary ) SELECT * FROM CTE WHERE daysdiff > 120
以上是我可以在 WHERE 子句中使用列別名嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!