SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
Normalmente você não pode se referir a aliases de campo no
WHERE cláusula. (Pense nisso como todo o SELECT incluindo aliases, é aplicado após o WHERE cláusula.) Mas, como mencionado em outras respostas, você pode forçar o SQL a tratar
SELECT para ser tratado antes do WHERE cláusula. Isso geralmente é feito entre parênteses para forçar a ordem lógica de operação ou com uma expressão de tabela comum (CTE):Parênteses/Subseleção:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
Ou veja a resposta de Adam para uma versão CTE do mesmo.