SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
Biasanya Anda tidak bisa merujuk ke alias bidang dalam WHEREklausa. (Anggap saja sebagai keseluruhan SELECTtermasuk alias, diterapkan setelah WHEREklausa.)
Tapi, seperti yang disebutkan dalam jawaban lain, Anda bisa memaksa SQL untuk memperlakukan SELECTagar ditangani sebelum WHEREklausa. Ini biasanya dilakukan dengan tanda kurung untuk memaksakan urutan operasi logis atau dengan Common Table Expression (CTE):
Parenthesis / Subselect:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
Atau lihat jawaban Adam untuk versi CTE yang sama.
`daysdiff`.