内部连接有2个外键到一个主键

ojo*_*rma 3 sql t-sql sql-server join

我有一个名为branch(branchid,branchname)的表和另一个名为transfer transfer(tranferid,sourcebranch,destinationbranch)的表

sourcebranch和destinationbranch都是Fk到分支表的branchid.我需要显示一个看起来像这样的查询

Tranferid Source Destination 4 uk us

但我能得到的就是这样的

Tranferid Source Destinationid 4英国3

查询样本

从branch.branchid上的transfer inner join分支中选择tranferid,branch.branchname,transfer.destinationbranch == transfer.sourcebranch

如何显示目标分支.CTE在我的脑海里

Joh*_*Woo 5

你需要加入表branch上表transfer两次,这样你就可以得到每个列的值.

SELECT  a.*, 
        b.branchName AS sourceBranchName,
        c.branchName AS destinationBranchName
FROM    transfer a
        INNER JOIN branch b
            ON a.sourcebranch = b.branchID
        INNER JOIN branch c
            ON a.destinationbranch = c.branchID
Run Code Online (Sandbox Code Playgroud)

要进一步了解联接,请访问以下链接: