我有一个汇总表,从主表返回数据。我正在尝试从主表中的值更新某些摘要数据,例如:
update #summary
set TopSpeed = CD.TopSpeed, SpeedTime = CD.TimeSent, SpeedDriver = CD.Driver
from
(
select top 1 TopSpeed, TimeSent, Driver
from CarData
where CarData.VehicleId = #summary.VehicleId
and CarData.TimeSent between #summary.Start and #summary.Stop
order by CarData.TopSpeed desc, TimeSent desc
) as CD
#summary临时表正在创建有关汽车出行的摘要数据。每辆车可以有多个行程,每个行程都有开始和停止时间。 CarData表包含所有详细的汽车数据,例如速度和位置等。
请你帮忙
谢谢,
罗伯特
最佳答案
试试这个:
UPDATE
#summary
SET
#summary.TopSpeed = CarData.TopSpeed ,
#summary.SpeedTime = CarData.SpeedTime
...
FROM
#summary
INNER JOIN
CarData
ON
#summary.id = CarData.id AND (CarData.TimeSent BETWEEN #summary.Start AND #summary.Stop)
关于sql - 在SQL中使用子查询更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180411/