SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
Normalt kan du inte referera till fältalias i WHERE klausul. (Tänk på det som hela SELECT inklusive alias, tillämpas efter WHERE klausul.)
Men, som nämnts i andra svar, kan du tvinga SQL att behandla SELECT ska hanteras före WHERE klausul. Detta görs vanligtvis med parentes för att tvinga fram logisk operationsordning eller med ett gemensamt tabelluttryck (CTE):
Parentes/Underval:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
Eller se Adams svar för en CTE-version av densamma.