TSQL 通过关联ID,将A表中多列ID关联为B表中的数据

概述

今天遇到这样一个需求,有两个表,分别为tb_a、tb_b。 

tb_a表中包含有2个ID(FromID和ToID),我们可以暂且把它理解为发送者ID和接受者ID;

tb_b表中包含对该ID的详细记录,根据ID记录着用户的姓名;

1       2

想通过B表当中的ID查找到A表当中ID所对应的发送者与接受者名称,下图为最终想要实现的效果:

3

使用T-SQL实现

SELECT b1.UserName AS Name_From,b2.UserName AS Name_To,a.SendTime 
FROM tb_a AS a
JOIN tb_b AS b1 ON a.ID_From=b1.UserID
JOIN tb_b as b2 ON a.ID_To=b2.UserID

   4

 

请教各位高手

在这里我使用了两次对表的join连接,这样在效率上会不会很慢?请问各位高手是否有更好的办法来实现上述需求?

原文地址:https://www.cnblogs.com/hainange/p/6153597.html