Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-在一个表中连接两个ID_Mysql - Fatal编程技术网

MySQL-在一个表中连接两个ID

MySQL-在一个表中连接两个ID,mysql,Mysql,这个查询是关于在一个表中的两个ID之间连接的 表:雇主 Employee no. Lastname Firstname reports to title 111 Garret Mike 333 sales manager 333 Frank Savage 444 President 我的问题是如何连接此表 该表应如下所示: Employee no. Lastname First

这个查询是关于在一个表中的两个ID之间连接的

表:雇主

Employee no.  Lastname  Firstname  reports to  title
111           Garret    Mike       333         sales manager
333           Frank     Savage     444         President
我的问题是如何连接此表

该表应如下所示:

Employee no.  Lastname  Firstname  reports to(Supervisor No.)  Firstname   Lastame
111           Garret    Mike       333                         Frank       Savage
我试过:

Select Employee no., Lastname, Firstname, reports to AS SuperVisorNumber, firstname, lastname From Employer
Where Employer.reports to =Employeeno.reports to

这只是一个例子。不要担心拼写错误和其他问题

您需要将表连接到自身:

select e1.Employeeno,
  e1.lastname EmpLastName,
  e1.firstname empFirstName,
  e1.reportsto,
  e2.firstname MgrFirstName,
  e2.lastname MgrLastName
from employer e1
inner join employer e2
  on e1.reportsto = e2.employeeno

如果要查看包括总裁在内的所有员工,请将其更改为“左加入”:

select e1.Employeeno,
  e1.lastname EmpLastName,
  e1.firstname empFirstName,
  e1.reportsto,
  e2.firstname MgrFirstName,
  e2.lastname MgrLastName
from employer e1
left join employer e2
  on e1.reportsto = e2.employeeno

如果希望使用更具描述性的表别名,则可以使用如下内容:

from employer employee
left join employer manager
  on employee.reportsto = manager.employeeno

你需要更具体地说明你想要做什么,以及纠正错误、设置格式和包含完整的代码,以便回答。只是一个问题。什么是e1。和e2@LinearXCon这些是表的别名,您可以随意调用它们。但是,由于您正在进行自连接,因此名称需要区分,因为我在这个mysql上是一个完全的noob。你如何将e1.Employeeno重写为?