我想运行一个 T-SQL 脚本,在其中创建一个临时表,该表将由另一个表的某个字段聚合,称为表 X。此临时表的其余字段将通过对以下字段执行聚合函数来填充表 X。然后我想在填充临时表后在另一个表(称为表 Y)上与我的临时表进行 MERGE / WHEN MATCHED。
如何创建此临时表并使用聚合函数填充它?(我已经编写了问题的 MERGE 部分)。
我想运行一个 T-SQL 脚本,在其中创建一个临时表,该表将由另一个表的某个字段聚合,称为表 X。此临时表的其余字段将通过对以下字段执行聚合函数来填充表 X。然后我想在填充临时表后在另一个表(称为表 Y)上与我的临时表进行 MERGE / WHEN MATCHED。
如何创建此临时表并使用聚合函数填充它?(我已经编写了问题的 MERGE 部分)。
要创建临时表,您可以执行以下操作:
create table #temp
(
id int,
col1 int
)
然后你会写一个INSERT INTO
INSERT INTO #temp
SELECT col1, sum(col2)
FROM yourTable
创建临时表后,您可以在存储过程中使用它。
bluefeet 发布了什么,或者:
with rsAggregated as
(
select id, sum(x)
from tableX
group by id
)
merge...
或者,没有看到您的合并语句,只是
merge tableY using
(
select id, sum(x)
from tableX
group by id
) rsAggregated
on rsAggregated.id = tableY.id
when matched
...
when not matched
...
您可以使用一个 SELECT 语句完成所有操作
SELECT col1 AS ID, sum(col2) AS col1 INTO #temp FROM yourTable