我确实阅读了不少帖子,但我无法完全按照我的要求阅读。如果已经回答,我为双重发帖道歉。
我正在使用SQL 2012并提取一个非常基本的查询。我遇到的问题是必须根据查询结果从相同的列中选择两次。
SELECT
emp_id[ID]
emp_fname[FirstName],
emp_lname[Lastname],
emp_supervisor[Supervisor]
FROM empmst
WHERE
emp_act_stat = 'A'
emp_supervisor只返回主管的ID 只有在新结果列中存在匹配的主管ID时,我才需要再次从emp_fname和emp_name列中提取[主管名称]
我的猜测是它需要是一个子查询,但我不确定语法。
答案 0 :(得分:2)
一个简单的LEFT JOIN
会:
SELECT
e1.emp_id [ID]
e1.emp_fname [FirstName],
e1.emp_lname [Lastname],
e1.emp_supervisor [IDSupervisor],
e2.emp_fname [FirstName_Supervisor],
e2.emp_lname [Lastname_Supervisor]
FROM empmst e1
LEFT JOIN empmst e2
ON e1.emp_supervisor = e2.emp_id
WHERE
e1.emp_act_stat = 'A';