2013-01-10 67 views
4

我想加入兩個臨時表。加入兩個臨時表

這裏是我的表:

CREATE TABLE #Result (Process varchar(50), SuccessCount int, FailureCount int) 
CREATE TABLE #SuccessResult (Process varchar(50), SuccessCount int) 
CREATE TABLE #FailureResult (Process varchar(50), FailureCount int) 

我在表中的一些數據,這裏是我的查詢:

INSERT INTO #Result (Process, SuccessCount, FailureCount) 
SELECT s.Process,s.SuccessCount,f.FailureCount 
FROM #SuccessResult s, #FailureResult as f 
INNER JOIN #SuccessResult on f.Process = #SuccessResult.Process 

我得到這個錯誤:

The multi-part identifier f.Process could not be found

我正在使用Microsoft SQL Server 2008.

我做錯了什麼?

+0

我沒有得到一個錯誤:http://www.sqlfiddle.com/#!3/d41d8/7646 – mellamokb

+0

我沒有得到一個錯誤,無論是。然而,和其他許多人一樣,你加入自己有點奇怪。 –

+2

我們應該得到另外20個用戶發佈相同的答案... –

回答

4

試試這個方法:

INSERT INTO #Result (Process, SuccessCount, FailureCount) 
SELECT s.Process,s.SuccessCount,f.FailureCount 
FROM #SuccessResult s 
INNER JOIN #FailureResult f on f.Process = #SuccessResult.Process 
2

這是INSERT INTO ... SELECT ...正確的語法:

INSERT INTO #Result (Process, SuccessCount, FailureCount) 
SELECT s.Process, s.SuccessCount, f.FailureCount 
FROM #FailureResult as f 
INNER JOIN #SuccessResult s on f.Process = s.Process 
2

取出隱式連接。

INSERT INTO #Result (Process, SuccessCount, FailureCount) 
SELECT s.Process,s.SuccessCount,f.FailureCount 
FROM #SuccessResult s 
INNER JOIN #FailureResult f on f.Process = s.Process