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 WHERE
klausa. (Anggap saja sebagai keseluruhan SELECT
termasuk alias, diterapkan setelah WHERE
klausa.)
Tapi, seperti yang disebutkan dalam jawaban lain, Anda bisa memaksa SQL untuk memperlakukan SELECT
agar ditangani sebelum WHERE
klausa. 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`
.