2012-07-23 65 views
0

我想運行一個T-SQL腳本,在其中創建一個將由另一個表的某個字段聚合的臨時表,將其稱爲表X.此臨時表的其餘字段將通過在表X的字段上執行集合函數來填充。然後,我想在填充臨時表之後,在另一個表(稱爲表Y)上執行MERGE/WHEN MATCHED與我的臨時表。TSQL聚合函數來填充臨時表

如何創建此臨時表並使用聚合函數填充它? (我已經編寫了MERGE問題的一部分)。

回答

2

創建一個臨時表,您將可以執行以下操作:

create table #temp 
(
    id int, 
    col1 int 
) 

那麼你會寫一個INSERT INTO

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

一旦你創建臨時表,你可以在您的商店使用程序。

0

什麼bluefeet發佈,或:

with rsAggregated as 
(
    select id, sum(x) 
    from tableX 
    group by id 
) 
merge... 

或者說,沒有看到你的MERGE語句,只是

merge tableY using 
(
    select id, sum(x) 
    from tableX 
    group by id 
) rsAggregated 
on rsAggregated.id = tableY.id 
when matched 
    ... 
when not matched 
    ... 
0

你可以做整個事情有一個SELECT語句

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