首页 > 解决方案 > 为 2 个不同的变量加入相同的描述符变量

问题描述

我确信这是非常基本的,但我很难找到已经回答的类似问题。我正在加入表,需要为两个不同的变量加入并返回相同的变量。这可能不是一个很好的解释——这里有一个例子:

表1
申请工作人员ID
文件 编号

表2
收款人员会员
证件 号

表 3
StaffMemberID
StaffMemberName

我想在 StaffMemberID 上加入表 1&3 和表 2&3 以便我可以返回:
StaffMemberName(as StaffMemberID=RequestingStaffMemberID)
和 StaffMemberName(as StaffMemberID=CollectingStaffMemberID)

我如何转换/转换/声明一些东西来做到这一点,这样我就不会要求它返回 StaffMemberName 两次?现在我只是让它返回 CollectingStaffMemberID 并在 Excel 中离线索引/匹配它,因为我处于紧要关头,但我想学习如何在 SQL 中正确执行此操作。

SELECT a.DocumentNo, c.StaffMemberName, b.CollectingStaffMemberID

FROM Table1 as a

left join Table2 as b on
a.DocumentNo=b.DocumentNo

left join Table3 as c on 
a.RequestingStaffMemberID=c.StaffMemberID

GROUP BY a.DocumentNo, c.StaffMemberName, b.CollectingStaffMemberID

感谢您的任何帮助!

标签: sqlssms-2016

解决方案


我猜你正在寻找这样的东西:

SELECT  Requests.DocumentNo
,       Staff_Req.StaffMemberName AS RequestStaffMemberName
,       Staff_Col.StaffMemberName AS CollectionStaffMemberName
FROM    Table1 as Requests
LEFT JOIN Table2 as Collections 
        ON Requests.DocumentNo = Collections.DocumentNo
LEFT JOIN Table3 as Staff_Req
        ON Staff_Req.StaffMemberID = Requests.RequestingStaffMemberID
LEFT JOIN Table3 as Staff_Col
        ON Staff_Col.StaffMemberID = Collections.CollectingStaffMemberID

我还为您的表格提供了更好的别名,因此您知道是什么(尽管我确信您的实际表格具有更具描述性的名称)。


推荐阅读