如果給出下表中給出的表。在SQL中,如果一個表有colums empid,emp,salary,managerid .....那麼我們如何找到colums作爲員工姓名,經理姓名,工資的結果
empid | empname | salary | managerid
你怎麼會發現結果
empid | empname | salary | managername
,因爲經理也是員工
如果給出下表中給出的表。在SQL中,如果一個表有colums empid,emp,salary,managerid .....那麼我們如何找到colums作爲員工姓名,經理姓名,工資的結果
empid | empname | salary | managerid
你怎麼會發現結果
empid | empname | salary | managername
,因爲經理也是員工
你可以做一個自聯接的一部分,連接的第一個表的ManagerId
(員工)EmpId
第二次使用員工(經理):
SELECT e.empid, e.empname, e.salary
, COALESCE(m.empname, 'NoManager') AS ManagerName
FROM Employee AS e
LEFT JOIN Employee AS m ON e.ManagerId = m.empId
SELECT
x.empid,
x.empname as 'EmployeeName',
x.salary as 'Salary',
(SELECT empname FROM Tablename WHERE empid = x.managerid) as 'ManagerName'
FROM
Tablename x
謝謝你..它真的有助於 – 2012-01-28 03:28:13
,它值得被標記爲答案。不是嗎? – Mubarek 2012-01-28 05:59:49
單獨的「內部加入」不起作用,因爲如果員工沒有經理,該員工將不會顯示。 – NoChance 2012-01-28 03:07:20
@EmmadKareem好點,謝謝。我已更新爲使用'LEFT JOIN'。 – 2012-01-28 03:08:59
謝謝你..它真的有幫助 – 2012-01-28 03:27:56