如何插入到表2中?

gzjq41n4  于 2021-08-13  发布在  Java
关注(0)|答案(4)|浏览(251)

“在orderuk表中查询所有来自employeeuk的员工的订单”
我的员工表UK:

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

然后我要制作orderuk表:

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

但我得到的是
关键字“where”附近的语法不正确。
如何纠正?

8wigbo56

8wigbo561#

正确的语法使用 ON :

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

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

zmeyuzjn

zmeyuzjn2#

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;
o4tp2gmn

o4tp2gmn3#

在加入表时必须使用on子句而不是where子句,请使用下面的查询

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

1szpjjfi4#

如何插入in 2表?
你可以用 OUTPUT Clause 具体如下:

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

下面是一个关于db<>fiddle的简单例子

相关问题