5

2つの一時テーブルを結合したい。

これが私のテーブルです:

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

このエラーが発生します:

マルチパート識別子f.Processが見つかりませんでした

Microsoft SQLServer2008を使用しています。

私は何を間違っているのですか?

4

3 に答える 3

5

この方法を試してください:

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
于 2013-01-10T14:25:58.137 に答える
4

This is the right syntax for 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
于 2013-01-10T14:24:48.070 に答える
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
于 2013-01-10T14:26:53.963 に答える