为 2 个不同的变量加入相同的描述符变量
Join the same descriptor variable for 2 different variables
我确信这是非常基本的,但我遇到了困难,而且没有运气寻找已经回答过的类似问题。我正在加入 tables 并且需要为两个不同的变量加入和 return 相同的变量。这可能不是一个很好的解释 - 这是一个例子:
表 1
RequestingStaffMemberID
文件编号
表2
CollectingStaffMemberID
文件编号
表 3
StaffMemberID
员工姓名
我想加入 StaffMemberID 上的 table 1&3 和 table 2&3,这样我就可以 return:
StaffMemberName(作为 StaffMemberID=RequestingStaffMemberID)
和 StaffMemberName(作为 StaffMemberID=CollectingStaffMemberID)
如何 cast/convert/declare 执行此操作,这样我就不会向 return StaffMemberName 询问两次?现在我只有 return CollectingStaffMemberID 和 index/match 它在 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
感谢您的帮助!
我猜你正在寻找这样的东西:
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
我还为您的表提供了更好的别名,因此您知道什么是什么(尽管我确信您的实际表具有更具描述性的名称)。
我确信这是非常基本的,但我遇到了困难,而且没有运气寻找已经回答过的类似问题。我正在加入 tables 并且需要为两个不同的变量加入和 return 相同的变量。这可能不是一个很好的解释 - 这是一个例子:
表 1
RequestingStaffMemberID
文件编号
表2
CollectingStaffMemberID
文件编号
表 3
StaffMemberID
员工姓名
我想加入 StaffMemberID 上的 table 1&3 和 table 2&3,这样我就可以 return:
StaffMemberName(作为 StaffMemberID=RequestingStaffMemberID)
和 StaffMemberName(作为 StaffMemberID=CollectingStaffMemberID)
如何 cast/convert/declare 执行此操作,这样我就不会向 return StaffMemberName 询问两次?现在我只有 return CollectingStaffMemberID 和 index/match 它在 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
感谢您的帮助!
我猜你正在寻找这样的东西:
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
我还为您的表提供了更好的别名,因此您知道什么是什么(尽管我确信您的实际表具有更具描述性的名称)。