2

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

这是我用过的:

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

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

这是我收到的错误消息:

消息 512,级别 16,状态 1,过程 GetLatestValuationOfPropIdThenCallUpdateComparibleSalesInfo,第 15 行子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。

4

1 回答 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)
于 2013-02-19T08:58:10.380 回答