2017-06-22 115 views
-3

我有一个SQL EMPLOYEE表如下所示:SELECT stament子查询

╔════╦═════════════╦═══════════╦═══════════╦═════════════╗ 
║ ID ║ NAME  ║ TITLE  ║ HIRE_DATE ║ MANAGER ID ║ 
╠════╬═════════════╬═══════════╬═══════════╬═════════════╣ 
║ 1 ║ John Smith ║ Manager ║ 15-JUN-15 ║  NULL ║ 
║ 2 ║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║  1  ║ 
╚════╩═════════════╩═══════════╩═══════════╩═════════════╝ 

我想返回如下:

从拉动名称
╔═════════════╦═══════════╦═══════════╦══════════════╗ 
║ NAME  ║ TITLE  ║ HIRE_DATE ║ MANAGER NAME ║ 
╠═════════════╬═══════════╬═══════════╬══════════════╣ 
║ John Smith ║ Manager ║ 15-JUN-15 ║  NULL ║ 
║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║ John Smith ║ 
╚═════════════╩═══════════╩═══════════╩══════════════╝ 

我只是真的有问题经理。有任何想法吗?

感谢

+0

你尝试过什么?这是一个简单的加入.. – GurV

回答

3

使用JOIN不是一个子查询:

select t1.name, t1.title, t1.hire_date, t2.Name from table t1 left join table t2 on t1.managerid = t2.id 
+0

@GurwinderSingh你是对的。谢谢你指出。改变了我的答案 – Jens

3

应该是这样的:

SELECT E1.NAME, E1.TITLE, E1.HIRE_DATE, E2.NAME 
FROM employee AS E1 LEFT OUTER JOIN employee AS E2 ON (E2.ID=E1.MANAGER_ID)