0

SupplierAからの詳細を更新していSupplierBます。

SupplierBにはサプライヤーが提供したすべての注文が含まれていますが、に挿入するときは、SupplierAサプライヤーごとに 1 つのインスタンスしか必要ないため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 に答える