2013-02-09 66 views
3

我有一个名为 分支表(branchid,分支名称) 和另一个表称为转让 转移(tranferid,sourcebranch,destinationbranch)内有2个外键连接到一个主键

两个sourcebranch和destinationbranch是FK到分支表的分支。 我需要显示的查询,看起来像这样

Tranferid源目标 4英国美国

,但所有我能得到的是这样的

Tranferid源目标-ID 4英国3

查询样品

选择tranferid,branch.branchname,从转移 内transfer.destinationbranch 加入分支上branch.branchid == transfer.sourcebranch

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

回答

5

你需要加入表branchtransfer两次,这样你就可以得到每个列的值。

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 

为了进一步获得更多的知识有关加入,请访问以下链接:

+0

谢谢,我想,以前,得到了别的东西,我想我犯了一个错误最初与我的加入条件。太感谢了。 – ojorma 2013-02-09 19:18:50