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
Join two temp tables
提问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