SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
Normalmente no puede hacer referencia a los alias de campo en la WHEREcláusula. (Piense en ello como todo el SELECTalias incluido, se aplica después de la WHEREcláusula).
Pero, como se menciona en otras respuestas, puede forzar el tratamiento de SQL para SELECTque se maneje antes de la WHEREcláusula. Esto generalmente se hace con paréntesis para forzar el orden lógico de operación o con una expresión de tabla común (CTE):
Paréntesis / Subselección:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
O vea la respuesta de Adam para una versión CTE de la misma.
`daysdiff`.