2016-03-03 84 views
0

enter image description here獲取結果來自兩個表的公共密鑰

所以我有是一些其他表的外鍵的公共密鑰fk_exid兩個表。請幫我寫一個查詢來獲取圖像中顯示的結果。

我想:

SELECT 
    payers.mid as payer_id, 
    payers.name as payer_name, 
    payers.amount as payer_amount, 
    payees.mid as payee_id, 
    payees.name as payee_name 
FROM 
    payers 
LEFT OUTER JOIN payees ON payees.fk_exid = payers.fk_exid 
WHERE 
    payers.fk_exid = 1 

但一直重複的值。我不想要一個完整的JOIN提前:)

感謝你

+0

什麼關於'fk_exid'連接兩個表? – Jaco

+1

Ddi你真的做了任何研究或嘗試自己的任何東西?這是一個非常基本的任務,應該有大量現有的例子。 – Ageonix

+0

我試過這個.. SELECT payers.mid as'payer_id',payers.name as'payer_name',payers.amount as'payer_amount',payees.mid as'payee_id',payees.name as'payee_name' FROM納稅人 LEFT OUTER JOIN收款人ON payees.fk_exid = payers.fk_exid WHERE payers.fk_exid = 1 卻一直重複值 我不想一個完整的JOIN – Himanshu

回答

0

這似乎是可選的一一對應的關係,結果是左從付款人加盟收款人

,請嘗試以下

SELECT * FROM納稅人P1左外連接P2 收款人上p1.fk_exid = p2.fk_exid

+0

這將給我4×3元組重複收款人 – Himanshu

+0

如果您使用完全連接,則不會發生4 * 3,但使用左連接將從左表中獲得所有結果,並在右側獲得匹配結果,如果沒有數據正確它將得到空值,這是您期望的結果,所以請試試看:D –

+0

QUERY:SELECT payers.fk_exid,payers.mid as payer_id',payers.name as payer_name',payees.mid as 'payee_id',payees.name如'payee_name' FROM付款人 LEFT OUTER JOIN受款人ON payees.fk_exid = payers.fk_exid WHERE payers.fk_exid = 6 結果:http://www.hostpic.org/images/ 1603031920130097.png – Himanshu