#sql-server
#sql-сервер
Вопрос:
Как я могу найти последнюю дату в столбце, но ограничить ее между 2 датами
SELECT [Weight]
FROM [weighinevent] w
WHERE [Date] = (SELECT MAX([Date]) WHERE [Date] BETWEEN @StartDate AND @EndDate AND w.[userid] = @userid )
Это то, что у меня есть. Это правильно?
Ответ №1:
Нет, это неверно. Подзапросы также должны определять таблицу, из которой они выбирают. Но вы можете упорядочить по дате и использовать только первую запись
SELECT top 1 Weight
FROM weighinevent
WHERE Date BETWEEN @StartDate AND @EndDate
AND userid = @userid
ORDER BY Date DESC