"做一个查询,有所有的订单由雇员从雇员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 "附近的语法不正确。
如何纠正?
正确的语法使用 ON
:
select *
into orderUKcoba
from Orders o join
employeeUK e
on e.EmployeeID = o.EmployeeID;
这将返回一个错误,因为至少有一列是重复的 (EmployeeId
),表不能有重复的列名。 但这不是你问的问题。
你应该明确地列出新表的列名。
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;
你必须 ON 在连接表的时候,请使用下面的查询子句代替WHERE子句。
select *
into orderUKcoba
from Orders o join employeeUK e
on (e.EmployeeID = o.EmployeeID);
如何在2个表中插入?
你可以通过使用 OUTPUT Clause
如以下。
INSERT INTO TargetTable1(Column1, ...)
OUTPUT INSERTED.Column1, ... INTO TargetTable2
SELECT Column1, ...
FROM SourceTable;
下面是一个简单的例子 抚琴