将结果与新结果列匹配

时间:2017-04-10 17:02:20

标签: sql sql-server-2012

我确实阅读了不少帖子,但我无法完全按照我的要求阅读。如果已经回答,我为双重发帖道歉。

我正在使用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列中提取[主管名称]

我的猜测是它需要是一个子查询,但我不确定语法。

1 个答案:

答案 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';