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

时间:2013-02-09 15:48:06

标签: sql sql-server tsql join

我有一张叫做的桌子 分支(branchid,branchname) 和另一个称为转移的表 转移(转移,sourcebranch,destinationbranch)

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

Tranferid来源目的地    4英国我们

但我能得到的就是这样的

Tranferid Source Destinationid    4英国3

查询示例

选择tranferid,branch.branchname,transfer.destinationbranch 从转移 branch.branchid上的内连接分支== transfer.sourcebranch

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

1 个答案:

答案 0 :(得分: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

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