如何区分使用同一查找表的表中的两列?

时间:2018-08-14 14:54:31

标签: sql sql-server sql-server-2008

我在表中有两列,分别是AssignedStatus和ReviewedStatus。我有一个名为Status的查找表,其中包含StatusID和StatusName列。 AssignedStatus和ReviewedStatus存储StatusID值。到目前为止,我已经

JOIN STATUS ON DATA.ASSIGNEDSTATUS = STATUS.STATUSID 
AND DATA.REVIEWEDSTATUS = STATUS.STATUSID

但是我不知道如何编写Select语句,以便可以显示带有相应StatusName的AssignedStatus和ReviewedStatus。

1 个答案:

答案 0 :(得分:5)

使用表别名:

select t.*, sa.? as assigned_???, sr.? as reviewed_???
from atable t left join
     status sa
     on t.assignedstatus = sa.statusid left join
     status sr
     on t.reviewedstatus = sr.statusid;

?用于引用表中所需的列。 ???只是提醒您输入有意义的别名。