SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
Normalmente non puoi fare riferimento agli alias di campo in WHERE clausola. (Pensalo come l'intero SELECT inclusi gli alias, viene applicato dopo il WHERE clausola.)
Ma, come menzionato in altre risposte, puoi forzare SQL a trattare SELECT da gestire prima del WHERE clausola. Questo di solito viene fatto con parentesi per forzare l'ordine logico di operazione o con un'espressione di tabella comune (CTE):
Parentesi/Sottoselezione:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
Oppure vedi la risposta di Adam per una versione CTE dello stesso.