2013-02-09 67 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