2013-02-23 73 views
2

我有一個表格,列EMPLOYEEID,EMPLOYEENAME,MANAGERID查詢以下情況

MANGERID來自EMPLOYEEID列。有些EMPLOYEEID沒有任何manangerid(即NULL)。現在我需要查詢的輸出,它返回EMPLOYEENAME和相應的MANGERNAME

怎麼辦?

我試過自聯接,但無法獲得所需的輸出。

+1

那你爲什麼還加入了'plsql'標籤?這是'PL/SQL'的標籤 - 由** Oracle **提供的過程式SQL語言擴展 - 與** Microsoft ** SQL Server無關...... – 2013-02-23 12:38:28

+0

@marc_s您是否將相同的查詢寫入PL/sql以不同的方式?這對於oracle的人們沒有用處嗎? – F11 2013-02-23 16:03:44

+0

您是否真的需要Oracle(PL/SQL)呢? T-SQL和PL/SQL是**不是相同的 - 有差異 - 所以如果你真的需要兩者 - 讓我們知道。否則,你會得到T-SQL(或PL/SQL)特定的解決方案.... – 2013-02-23 16:05:12

回答

2

您將需要一個自聯接,以LEFT JOIN讓那些沒有經理:

SELECT 
    e.EMPLOYEEID, 
    e.EMPLOYEENAME, 
    m.EmployeeName AS ManagerName 
FROM Employees AS e 
LEFT JOIN Employees AS m ON e.ManagerId = m.EmployeeID; 

SQL Fiddle Demo