Поскольку SelMonth и CurMonth являются производными столбцами, они не будут доступны на текущем уровне запроса.Вариант 1: CTE (для SQL 2005 и выше)
WITH evnts AS
(SELECT ename,
edate,
edateend,
Datepart(MONTH, edate) AS selmonth,
Datepart(MONTH, { fn CURDATE() }) AS curmonth
FROM events)
SELECT TOP (5) *
FROM evnts
WHERE (EDate >= { fn CURDATE() }) AND (SelMonth = CurMonth)
Вариант 2: встроенный просмотр
SELECT TOP (5) * FROM
(SELECT ename,
edate,
edateend,
Datepart(MONTH, edate) AS selmonth,
Datepart(MONTH, { fn CURDATE() }) AS curmonth
FROM events)
WHERE (EDate >= { fn CURDATE() }) AND (SelMonth = CurMonth)