【发布时间】:2012-02-20 23:35:54
【问题描述】:
如果您在下面的结构中给出了表格。
empid | empname | salary | managerid
你将如何找到结果
empid | empname | salary | managername
因为经理也是员工的一部分
【问题讨论】:
标签: asp.net sql sql-server-2005
如果您在下面的结构中给出了表格。
empid | empname | salary | managerid
你将如何找到结果
empid | empname | salary | managername
因为经理也是员工的一部分
【问题讨论】:
标签: asp.net sql sql-server-2005
您可以进行自联接,将第一个表(员工)的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
【讨论】:
LEFT JOIN。
SELECT
x.empid,
x.empname as 'EmployeeName',
x.salary as 'Salary',
(SELECT empname FROM Tablename WHERE empid = x.managerid) as 'ManagerName'
FROM
Tablename x
【讨论】: