Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从另一个表更新表,选择最新的';日期';对于每个供应商_Sql_Sql Server - Fatal编程技术网

Sql 从另一个表更新表,选择最新的';日期';对于每个供应商

Sql 从另一个表更新表,选择最新的';日期';对于每个供应商,sql,sql-server,Sql,Sql Server,我正在用SupplierB中的详细信息更新SupplierA SupplierB包含供应商提供的每个订单,但是,当我在SupplierA中插入时,我只希望每个供应商有一个实例,因此与订单关联的最新日期 目前我正在做这样的事情 UPDATE SupplierA SET LastSupplyDate = (SELECT [DATE] FROM SupplierB AS SB WHERE SB.Supplier COLLATE DATABASE_DEFAULT = SupplierA.SupNumbe

我正在用
SupplierB
中的详细信息更新
SupplierA

SupplierB
包含供应商提供的每个订单,但是,当我在
SupplierA
中插入时,我只希望每个供应商有一个实例,因此与订单关联的
最新日期

目前我正在做这样的事情

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()
是一个选项吗?如果被查询的列有索引(我想他的查询就是这样),TOP 1和MAX具有相同的性能我不反对使用
TOP
(尽管它的可移植性较差)并且不认为这值得3次否决票,但语法无效
,其中,如果查询列具有索引(我猜他的查询就是这样),TOP 1和MAX具有相同的性能我对使用
TOP
(尽管它的可移植性较差)而且不认为这值得3次否决票,但语法无效
,其中SB.Supplier ORDER BY
SET LastSupplyDate = (SELECT MAX([DATE])...
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
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