SQL Server:用username替换多个userID实例

时间:2017-10-06 21:52:59

标签: sql sql-server

我可能会过度思考这个问题,但我还没有设法弄清楚或找到解决方案,所以我希望指针朝着正确的方向发展。我尝试使用Select ColumnA AS Column B等,但它没有按照我的意愿行事。

我有2个表,下面的场景示例

表1(车辆)

VehicleID (001)
VehicleMake (Ford)
VehicleModel (Falcon)
VehicleExCleanEmpID (005)
VehicleIntCleanEmpID (003)

表2(员工)

EmpID (005)
EmpName (Dave)

场景是车辆由Vehicles表中相关ID显示的员工池内部或外部清理。

我想在查询VehicleID, InsideCleanName, ExternalCleanName中显示而不是显示员工的ID。

最终结果与此类似

VehicleID   InsideCleanName   ExternalCleanName
------------------------------------------------
001         Bob               Dave
002         Sue               Dave
003         John              Sid

感谢您提供任何提示或帮助

2 个答案:

答案 0 :(得分:0)

使用EmpId加入两个表并选择您想要的列,类似于下面的代码:

select column1, column2 from table1 inner join table2 on table1.EmpId = table2.EmpId 

答案 1 :(得分:0)

这似乎是一个非常简单的查询,有两个内部联接到Employee表 - 这样的事情:

SELECT
    v.VehicleId,
    InsideCleanName = e1.EmpName,
    ExternalCleanName = e2.EmpName
FROM
    dbo.Vehicle v
INNER JOIN
    dbo.Employee e1 ON v.VehicleIntCleanEmpId = e1.EmpID
INNER JOIN
    dbo.Employee e2 ON v.VehicleExCleanEmpId = e2.EmpID 

加入Employee e1表格会给你负责内部清洁的员工,而第二次加入Employee e2会给你负责外部清洁的人员。