Sql 一个表中的聚合值在另一个表中更新
我想使用Update子句将聚合值从一个表插入到另一个表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
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