SQL:从表中多次选择同一列

SQL:从表中多次选择同一列,sql,Sql,我有一个名为t_employee的表,其中包含ID、NAME 另一个名为t\u ticket的表,列有ID、DESCRIPTION、CREATED\u BY、UPDATED\u BY 请注意,由创建的和由更新的是员工ID 如何进行选择,以获得类似以下内容的结果: ID, DESCRIPTION, CREATED_BY, CREATED_BY_NAME, UPDATED_BY, UPDATED_BY_NAME 其中,由_NAME创建和由_NAME更新是从员工表中引用的 我使用临时表和更新来完成这

我有一个名为
t_employee
的表,其中包含
ID、NAME

另一个名为
t\u ticket
的表,列有
ID、DESCRIPTION、CREATED\u BY、UPDATED\u BY

请注意,由创建的
和由
更新的
是员工ID

如何进行选择,以获得类似以下内容的结果:

ID, DESCRIPTION, CREATED_BY, CREATED_BY_NAME, UPDATED_BY, UPDATED_BY_NAME
其中,
由_NAME创建
由_NAME更新
是从
员工
表中引用的

我使用临时表和更新来完成这项工作,但这似乎很昂贵

而且桌子是固定的,所以我没有办法改变它们


期待任何建议。

只需多次加入同一个表,并给它一个别名(每个加入的别名不同):


您需要连接两次并使用别名,如下所示:

SELECT
    t.ID, t.DESCRIPTION, t.CREATED_BY, TableCreated.Name as CREATED_BY_NAME, t.UPDATED_BY, TableUpdated.Name as UPDATED_BY_NAME
FROM 
    t_ticket t INNER JOIN  t_employee TableCreated
    ON t.CreatedBy = TableCreated.Id
    INNER JOIN t_employee TableUpdated
    on t.CreatedBy = TableUpdated.Id;
(根据您的情况使用内部联接或左联接)

SELECT
    t.ID, t.DESCRIPTION, t.CREATED_BY, TableCreated.Name as CREATED_BY_NAME, t.UPDATED_BY, TableUpdated.Name as UPDATED_BY_NAME
FROM 
    t_ticket t INNER JOIN  t_employee TableCreated
    ON t.CreatedBy = TableCreated.Id
    INNER JOIN t_employee TableUpdated
    on t.CreatedBy = TableUpdated.Id;