SQL从一个表中选择两次

时间:2015-06-03 17:29:07

标签: mysql sql phpmyadmin

我正在使用PHPmyAdmin访问我的数据库,我有这个表:

$(document).on("change", '[id$=ckbxEmp]', function () {

我需要选择这个:

ID  NAME  SUPERVISOR  CITY SALARY      
 9  Lucy              NY   100000    
13  Max            9  TN   50000   
 5  Peter          9  TN   60000    
70  Kid            5  HI   40000

我已经尝试解决它超过半小时,但没有任何帮助。它一定很容易。你能帮我吗?

4 个答案:

答案 0 :(得分:2)

您可以在同一张桌子上使用LEFT JOIN获得结果:

Select      T1.Name, T2.Name As Supervisor
From        YourTable   T1
Left Join   YourTable   T2  On  T1.Supervisor = T2.ID

答案 1 :(得分:1)

您需要MYSQL Self Join功能才能获得结果

SELECT e1.name, IFNULL(e2.name,'--') SUPERVISORName 
FROM   t e1 
   LEFT JOIN t e2 
   ON e1.SUPERVISOR  = e2.ID
Order by e1.SUPERVISOR 

NAME    SUPERVISORName
Lucy    --
Kid     Peter
Max     Lucy
Peter   Lucy

SAMPLE SQL FIDDLE

答案 2 :(得分:1)

应该这样做 - 自我加入:

SELECT t1.Name, t2.Name AS Supervisor
FROM myTable t1
LEFT JOIN myTable t2 ON t1.Supervisor = t2.Id

如果你真的想要显示短划线-,而不是null,你可以使用:

COALESCE(t2.Name,'-') AS Supervisor

答案 3 :(得分:0)

您可以在同一张表中进行联接。

SELECT person.NAME AS NAME, sv.NAME AS SUPERVISOR FROM person LEFT JOIN person AS sv ON person.SUPERVISOR = sv.ID