0

我正在SupplierA使用来自 的详细信息进行更新SupplierB

SupplierB包含供应商提供的每个订单,但是,当我插入时SupplierA,我只需要每个供应商的一个实例,因此需要most recent与订单关联的日期。

目前我正在做这样的事情;

UPDATE SupplierA
SET LastSupplyDate = (SELECT [DATE] FROM SupplierB AS SB WHERE SB.Supplier COLLATE DATABASE_DEFAULT = SupplierA.SupNumber COLLATE DATABASE_DEFAULT)
WHERE [Site] = 2

显然这会返回多个值,我如何获得最新的值,是MAX()一种选择吗?我会很感激任何想法/想法?

4

3 回答 3

3
SET LastSupplyDate = (SELECT MAX([DATE])...
于 2012-09-03T09:07:49.830 回答
1
UPDATE SupplierA SET LastSupplyDate =   
(  
  SELECT TOP 1 [DATE] FROM SupplierB AS SB  
  WHERE SB.Supplier
  COLLATE DATABASE_DEFAULT = SupplierA.SupNumber COLLATE DATABASE_DEFAULT 
  ORDER BY [DATE] DESC


) 
WHERE [Site] = 2
于 2012-09-03T09:08:08.150 回答
1
UPDATE SupplierA
SET LastSupplyDate = (SELECT MAX([DATE]) FROM SupplierB AS SB WHERE SB.Supplier COLLATE DATABASE_DEFAULT = SupplierA.SupNumber COLLATE DATABASE_DEFAULT)
WHERE [Site] = 2
于 2012-09-03T09:08:50.147 回答