SQL 连接两个临时表

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14260054/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 13:05:32  来源:igfitidea点击:

Join two temp tables

sqlsql-serversql-server-2008

提问by ohadinho

I want to join two temp tables.

我想加入两个临时表。

Here are my tables:

这是我的表:

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)

I have some data in my tables, and here is my query:

我的表中有一些数据,这是我的查询:

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

I'm getting this error:

我收到此错误:

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

找不到多部分标识符 f.Process

I'm using Microsoft SQL Server 2008.

我正在使用 Microsoft SQL Server 2008。

What am I doing wrong ?

我究竟做错了什么 ?

采纳答案by Robert

Try this way:

试试这个方法:

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

回答by Mahmoud Gamal

This is the right syntax for INSERT INTO ... SELECT ...:

这是正确的语法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

回答by squillman

Take out the implicit join.

取出隐式连接。

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