0

我想运行一个 T-SQL 脚本,在其中创建一个临时表,该表将由另一个表的某个字段聚合,称为表 X。此临时表的其余字段将通过对以下字段执行聚合函数来填充表 X。然后我想在填充临时表后在另一个表(称为表 Y)上与我的临时表进行 MERGE / WHEN MATCHED。

如何创建此临时表并使用聚合函数填充它?(我已经编写了问题的 MERGE 部分)。

4

3 回答 3

2

要创建临时表,您可以执行以下操作:

create table #temp
(
    id int,
    col1 int
)

然后你会写一个INSERT INTO

INSERT INTO #temp
SELECT col1, sum(col2)
FROM yourTable

创建临时表后,您可以在存储过程中使用它。

于 2012-07-23T19:17:47.050 回答
0

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
  ...
于 2012-07-23T19:47:32.690 回答
0

您可以使用一个 SELECT 语句完成所有操作

SELECT col1 AS ID, sum(col2) AS col1 INTO #temp FROM yourTable
于 2014-05-11T22:06:41.910 回答