2013-02-19 2 views
2

Мне нужно получить идентификатор записи, содержащей значение.Выберите идентификатор последней записи со значением ***

Это то, что я использовал:

SET @ValuationId = (SELECT ValuationId FROM dbo.Valuation WHERE ValuationPropertyId = @ValuationPropertyId) 

Проблема с выше является то, что он выбирает несколько значений, что я могу использовать, чтобы получить его, чтобы выбрать последнее значение?

Вот сообщение об ошибке я получил:

Msg 512, уровень 16, состояние 1, процедура GetLatestValuationOfPropIdThenCallUpdateComparibleSalesInfo, линия 15 Subquery вернулся более чем на 1 значение. Это недопустимо, если подзапрос следует за =,! =, <, < =,>,> = или когда подзапрос используется как выражение.

ответ

2

использование MAX()

SET @ValuationId = (SELECT MAX(ValuationId) 
        FROM dbo.Valuation 
        WHERE ValuationPropertyId = @ValuationPropertyId) 

или

SET @ValuationId = (SELECT TOP 1 ValuationId 
        FROM dbo.Valuation 
        WHERE ValuationPropertyId = @ValuationPropertyId 
        ORDER BY ValuationId DESC) 
Смежные вопросы