TSQL聚合函数用于填充临时表

时间:2012-07-23 19:14:01

标签: function tsql aggregate temp-tables

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

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

3 个答案:

答案 0 :(得分:2)

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

create table #temp
(
    id int,
    col1 int
)

然后你会写一个INSERT INTO

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

创建临时表后,您可以在商店程序中使用它。

答案 1 :(得分: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
  ...

答案 2 :(得分:0)

您可以使用一个SELECT语句

完成整个事情
SELECT col1 AS ID, sum(col2) AS col1 INTO #temp FROM yourTable