我需要获取包含值的条目的ID。
这就是我用过的:
SET @ValuationId = (SELECT ValuationId FROM dbo.Valuation WHERE ValuationPropertyId = @ValuationPropertyId)
上面的问题是它选择了多个值,我可以使用它来选择最新值?
以下是我收到的错误消息:
Msg 512,Level 16,State 1,Procedure 第15行的GetLatestValuationOfPropIdThenCallUpdateComparibleSalesInfo 子查询返回的值超过1。这是不允许的 子查询跟随=,!=,<,< =,>,> =或当子查询用作 表达。
答案 0 :(得分: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)