首页 > 解决方案 > 使用来自一个表的数据连接到另一个包含两个键列的表来创建数据的结果集

问题描述

我正在尝试创建一个连接两个表的汇总结果集。

第一个表(主行和多行)包含以下列:

trans_id, trans_type_id

第二个表(仅一行)包含:

from_trans_type_id, to_trans_type_id

from_trans_type_id = trans_type_id我正在尝试加入这两个表,以便to_trans_type_id = trans_type_id获取相关trans_id

我试过自我加入和派生加入没有效果。

最终结果是我正在寻找一个看起来像这样的结果集:

trans_id as from_trans_id, from_trans_type_id, trans_id as to_trans_id, to_trans_type_id

数据是:

第一张桌子

第二张表

标签: sqlsql-server

解决方案


您可以将 join 与 firsttable 的多个实例一起使用

select b.trans_id as from_trans_id, from_trans_type_id, c.trans_id as to_trans_id, to_trans_type_id 
from secondtable a 
inner join firsttable b on a.from_trans_type_id=b.trans_type_id
inner join firsttable c on a.to_trans_type_id=c.trans_type_id

推荐阅读