TSQL关联Users与Meetings表:根据双ID查询关联用户名实现方案
如何用TSQL关联Users和Meetings表获取双方参会人姓名
嘿,这个需求其实很容易实现——你只需要把Users表两次关联到Meetings表就行,因为Meetings里的两个用户ID都需要对应到Users表中的姓名。给Users表起不同的别名来区分两个参会人,就能轻松拿到你想要的结果集。
下面是完整的TSQL查询语句:
SELECT m.UserId_1, m.UserId_2, u1.Name AS User_1_Name, u2.Name AS User_2_Name, m.MeetingDate FROM Meetings m INNER JOIN Users u1 ON m.UserId_1 = u1.UserId INNER JOIN Users u2 ON m.UserId_2 = u2.UserId;
代码说明:
- 我们给Users表分别起了别名
u1和u2,这样就能区分两个不同的参会人关联:u1和Meetings的UserId_1关联,用来获取第一个参会人的姓名,别名设为User_1_Nameu2和Meetings的UserId_2关联,用来获取第二个参会人的姓名,别名设为User_2_Name
- 使用
INNER JOIN可以确保只返回两边都存在匹配数据的记录,刚好符合你的需求场景。
执行这个查询后,你会得到如下格式的结果集:
| UserId_1 | UserId_2 | User_1_Name | User_2_Name | MeetingDate |
|---|---|---|---|---|
| 1 | 2 | John | Linda | 15/01/2018 |
| 3 | 2 | David | Linda | 17/01/2018 |
| 1 | 3 | John | David | 19/01/2018 |
内容的提问来源于stack exchange,提问作者Zelter Ady
相关产品推荐
相关产品推荐

