sql - 为 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
感谢您的任何帮助!
解决方案
我猜你正在寻找这样的东西:
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
我还为您的表格提供了更好的别名,因此您知道是什么(尽管我确信您的实际表格具有更具描述性的名称)。
推荐阅读
- xamarin.forms - Xamarin 表单从右到左显示页面
- c++03 - `const int* const int` 用函数初始化
- javascript - 从 Angular 2 + 中的父组件调用子组件方法
- java - AES 加密 .Net 到 Android 的移动
- java - 从休眠中获取类的名称
- python - Get extended spaCy morphological information
- azure - cosmos 查询在 Azure Dev 环境中返回文档,但在 Azure QA 环境中不返回
- microsoft-graph-api - 通过 Graph API 使用团队模板创建团队
- tensorflow - 将 SessionRunHook 与 TPU 一起使用
- java - 二维数组棋局的所有组合