Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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_Sql Server 2008 - Fatal编程技术网

Sql 一个表中的聚合值在另一个表中更新

Sql 一个表中的聚合值在另一个表中更新,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我想使用Update子句将聚合值从一个表插入到另一个表 SELECT Sum(1.0 * volume * speed) / Sum(volume) AS aggregated_speed FROM traffic_data_replica GROUP BY date, id ORDER BY date; 我想在其他表中更新此值。这就是我尝试过的 UPDATE traffic_data_aggregated_lanes SET traffic_da

我想使用Update子句将聚合值从一个表插入到另一个表

SELECT Sum(1.0 * volume * speed) / Sum(volume) AS aggregated_speed 
FROM   traffic_data_replica 
GROUP  BY date, 
          id 
ORDER  BY date; 
我想在其他表中更新此值。这就是我尝试过的

UPDATE traffic_data_aggregated_lanes 
SET    traffic_data_aggregated_lanes.aggregated_speed = (SELECT 
              Sum(1.0 * volume * 
                  speed) / Sum(volume) AS aggregated_speed 
                                                         FROM 
       traffic_data_replica 
                                                         GROUP  BY date, 
                                                                   id 
                                                         ORDER  BY date); 
请帮助

关系不清楚。 有点


我们可以使用CTE,我也不确定数据。 所以我给了你们假设的结果

WITH CTE AS (
select t.Id,sum(1.0*volume*speed)/sum(volume) as aggregated_speed from  traffic_data_replica t 
group by date,id order by date
)
Select * FROM CTE
update traffic_data_aggregated_lanes    set traffic_data_aggregated_lanes.aggregated_sp= t.aggregated_speed From traffic_data_replica t
INNER JOIN CTE c ON C.Id = t.Id

我们可以用哪些列连接这两个表?请提供这些表的模式“这是我做的”和“这是我尝试过的”-和?怎么搞的?鉴于我们没有您的表或数据,我们不能自己尝试这些。你需要告诉我们发生了什么,你期望发生什么,区别是什么,等等。
WITH CTE AS (
select t.Id,sum(1.0*volume*speed)/sum(volume) as aggregated_speed from  traffic_data_replica t 
group by date,id order by date
)
Select * FROM CTE
update traffic_data_aggregated_lanes    set traffic_data_aggregated_lanes.aggregated_sp= t.aggregated_speed From traffic_data_replica t
INNER JOIN CTE c ON C.Id = t.Id