我有一个选择查询,并且工作正常。现在,我要在另一个表中更新此查询的输出。
问题是-由选择查询输出,聚合了一些东西,我想保留在另一个表中。我该怎么办?
SELECT
CostID as CostID,
SUM(Budget) as Budget,
SUM(TD) as TD,
SUM(Forecast) as Forecast,
FROM
A
GROUP BY
TD,
Forecast,
CostID,
Cost,
)
我要更新CostID
,Budget
的总和,TD
的总和,Forecast
在另一个表中。
答案 0 :(得分:1)
另一个表中是否有键,您可以在其中联接上面的select语句?
如果有密钥,则只需编写一条更新语句:
UPDATE SOURCE_TABLE
SET SOURCE_TABLE.Cost_ID = NEW_QUERY.Cost_ID
SOURCE_TABLE.Budget = NEW_QUERY.Budget
SOURCE_TABLE.TD = NEW_QUERY.TD
SOURCE_TABLE.Forecast = NEW_QUERY.Forecast
FROM SOURCE_TABLE
INNER JOIN
(
SELECT CostID as CostID,
SUM(Budget) as Budget,
SUM(TD) as TD,
SUM(Forecast) as Forecast
FROM A
GROUP BY TD,
Forecast,
CostID,
Cost
) AS NEW_QUERY
ON SOURCE_TABLE.joining_key = NEW_QUERY.joining_key