2013-05-15 126 views
1

我有三個表,並在這些表中,這些基礎領域Mysql的連接查詢的多個表

接觸

  • CON_ID(主鍵)
  • con_name
  • con_work_id
  • con_country_id

工作

  • work_id(主鍵)
  • work_company_name
  • work_country_id

國家

  • COUNTRY_ID(主鍵)
  • COUNTRY_NAME

我試圖運行其中顯示con_name,work_company_name然後將國名兩者的聯繫和工作的公司的查詢。

我試過這個;

SELECT * 
FROM contacts 
LEFT JOIN work ON contacts.con_work_id = work.work_id 
LEFT JOIN country ON contacts.con_country_id = country.country_id 
LEFT JOIN country ON work.work_country_id = country.country_id 

但當然,這是行不通的,因爲最後一次連接導致與第二次連接發生衝突。 我快到了,但無法查詢顯示與聯繫人和工作公司關聯的country_name。

我很感激前進的方向。

非常感謝,

奇蹟

回答

2

下面應該工作:

SELECT * 
FROM contacts 
LEFT JOIN work ON contacts.con_work_id = work.work_id 
LEFT JOIN country c1 ON contacts.con_country_id = c1.country_id 
LEFT JOIN country c2 ON work.work_country_id = c2.country_id 

訣竅是一個別名添加到表中,這樣就可以區分這兩種。

+0

完美 - 工作。 –