2013-03-23 136 views
-3

我從僱員表(empID),這是主鍵和託運表中選擇基於兩個外鍵1-收貨人和2交(在這兩個領域有一個問題與empID的關係),所以可以選擇收貨人並且不通過ID而是根據員工姓名(emp.name)進行移交。請寫下查詢,謝謝。幫助簡單JOIN

+7

這是不是一個真正的地方,我們只是如果您向我們展示樣本數據,期望的結果,您嘗試過的以及如何運作,人們可能會更願意並且能夠提供幫助。 [請閱讀此](http://dba.blogoverflow.com/2012/06/help-us-help-you/)。 – 2013-03-23 15:16:03

回答

2

基本上,如果consignation表中的兩列都不可爲空,則可以使用INNER JOIN。但是,如果有一個是可爲空,則需要使用LEFT JOIN,因此consignation的記錄仍將顯示在列表中。

SELECT con.EmpName AS consigneeName, 
     ho.EmpName AS handOverName 
FROM consignation a 
     INNER JOIN employee con 
      ON a.ConSignee = con.empID 
     INNER JOIN employee ho 
      ON a.handoverby = ho.empID 

爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:「寫您的查詢」

+4

+1解釋。但幾乎-1,使我的評論看起來不好。 :-) – 2013-03-23 15:17:00

+0

@AaronBertrand請不要再罵我:'D'嘻嘻 – 2013-03-23 15:19:31

+0

感謝各位回覆這個問題,讓我給你提供關於這個問題的更多信息,寄存表的字段是:conID,ConSignee(外鍵empid),越區切換(使用empID的外鍵)和僱員表:EmpID(pk),empname和... – user2202527 2013-03-23 15:26:06