SQL Server内部联接在所有列中重复返回相同的行

时间:2018-01-31 12:12:42

标签: sql sql-server inner-join

我正在编写此查询以执行inner join

select firstname 
from employees  
inner join orders on Employees.employeeid = orders.employeeid

结果是所有列中的同一行。

有什么问题?

2 个答案:

答案 0 :(得分:1)

据推测,您拥有的订单多于您的员工。因此,一名员工接到许多订单。

当你跑步时:

select e.firstname 
from employees e inner join
     orders o
     on e.employeeid = o.employeeid;

然后您将获得所有名字的列表 - 因此将重复一个员工姓名,每个订单一次。如果您只想要一个不同值列表,那么您可以使用select distinct代替。

答案 1 :(得分:0)

由于订单表中有更多行与该员工相关, 理解可能有所帮助:

SELECT Employees.firstname,Employees.employeeid,
orders.orderid,orders.employeeid
FROM employees
INNER JOIN orders
ON Employees.employeeid=orders.employeeid