如何插入到2表中?

问题描述 投票:0回答:1

"做一个查询,有所有的订单由雇员从雇员UK在订单UK表"。

我的雇员UK表。

select *
into employeeUK
from Employees
where Country = 'UK'

然后我想做订单UK表:

select *
into orderUKcoba
from Orders o join employeeUK e
where (e.EmployeeID = o.EmployeeID)

但我得到的是

关键字 "where "附近的语法不正确。

如何纠正?

sql sql-server sql-insert
1个回答
0
投票

正确的语法使用 ON:

select *
into orderUKcoba
from Orders o join
     employeeUK e
     on e.EmployeeID = o.EmployeeID;

这将返回一个错误,因为至少有一列是重复的 (EmployeeId),表不能有重复的列名。 但这不是你问的问题。

你应该明确地列出新表的列名。


0
投票

JOIN 需要 ON 条款。

select o.col, . . . , e.col, . . . -- Qualify all column names explicitly 
into orderUKcoba
from Orders o join 
     employeeUK e
     on e.EmployeeID = o.EmployeeID;

0
投票

你必须 ON 在连接表的时候,请使用下面的查询子句代替WHERE子句。

select *
into orderUKcoba
from Orders o join employeeUK e
on (e.EmployeeID = o.EmployeeID);

0
投票

如何在2个表中插入?

你可以通过使用 OUTPUT Clause 如以下。

INSERT INTO TargetTable1(Column1, ...)
OUTPUT INSERTED.Column1, ... INTO TargetTable2
SELECT Column1, ...
FROM SourceTable;

下面是一个简单的例子 抚琴

© www.soinside.com 2019 - 2024. All rights reserved.