SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
WHERE ( DATEDIFF(day, maxlogtm, GETDATE() > 120)
आम तौर पर आप WHERE
. में फ़ील्ड उपनामों का उल्लेख नहीं कर सकते हैं खंड। (इसे संपूर्ण SELECT
के रूप में सोचें उपनाम सहित, WHERE
. के बाद लागू किया जाता है खंड।)
लेकिन, जैसा कि अन्य उत्तरों में बताया गया है, आप SQL को SELECT
. के इलाज के लिए बाध्य कर सकते हैं WHERE
. से पहले संभाला जाना है खंड। यह आमतौर पर संचालन के तार्किक क्रम या सामान्य तालिका अभिव्यक्ति (सीटीई) के साथ मजबूर करने के लिए कोष्ठक के साथ किया जाता है:
कोष्ठक/उप-चयन:
SELECT
*
FROM
(
SELECT
logcount, logUserID, maxlogtm,
DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff
FROM statslogsummary
) as innerTable
WHERE daysdiff > 120
या उसी के सीटीई संस्करण के लिए एडम का जवाब देखें।