Я пытаюсь выбрать строки, в которых дата окончания находится в пределах диапазона.В моей таблице подписки dbo.subs есть столбцы startdate и enddate.Когда я использую startdate, запрос выполняется, но когда я использую enddate, он говорит, что имя столбца недопустимо.
Я пытался использовать '' или "" [] в конце enddate, я также пытался написать полноеимя столбца вышло (dbo.subscription.enddate), но, похоже, это не имеет значения.
;WITH cte
AS (SELECT Membershipnumber as Id
Row_number()
OVER (
partition BY membershipnumber
ORDER BY subscription.enddate DESC) AS rownumber
FROM [dbo].[userprofile]
INNER JOIN dbo.subscription
ON userprofile.id = subscription.userprofileid
INNER JOIN dbo.subscriptiontype
ON subscriptiontype.id = subscription.subscriptiontypeid
)
SELECT *
FROM cte
WHERE rownumber = 1 and enddate between'2014-12-31' and '2018-12-31'
order by Id
Сообщение об ошибке:
Msg 207, Level 16, State 1, Line 21
Invalid column name 'enddate'.
Msg 207, Level 16, State 1, Line 21
Invalid column name 'enddate'.