4

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

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

Tranferid Source Destination 4 uk us

但我能得到的只是这样的东西

Transferid Source Destinationid 4 uk 3

查询样本

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

如何让目标分支显示。我心目中的CTE

4

1 回答 1

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

要进一步了解有关联接的更多信息,请访问以下链接:

于 2013-02-09T15:49:54.843 回答