选择值为***的最新条目的ID

时间:2013-02-19 08:57:28

标签: sql sql-server stored-procedures

我需要获取包含值的条目的ID。

这就是我用过的:

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

上面的问题是它选择了多个值,我可以使用它来选择最新值?

以下是我收到的错误消息:

  

Msg 512,Level 16,State 1,Procedure   第15行的GetLatestValuationOfPropIdThenCallUpdateComparibleSalesInfo   子查询返回的值超过1。这是不允许的   子查询跟随=,!=,<,< =,>,> =或当子查询用作   表达。

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)