多个引用单个表

时间:2015-07-09 15:05:43

标签: sql oracle

我有两个单独的表,它们引用不同的国家/地区ID和一个国家/地区表。我无法报告这两个国家/地区名称。我知道这是非常基本但我很困难所以请帮助!

我有以下表格和列:

Names
Reference_no    |Name   |Main_Country_ID
12345           |Name1  |1
12346           |Name2  |2
12347           |Name3  |1

Jobs
Reference_no    |Job      |Local_Country_ID
12345           |Job1     |3
12345           |Job2     |4
12346           |Job1     |1
12347           |Job1     |1

Country
Country_ID  |Country_Name
1           |UK
2           |US
3           |France
4           |Germany

我正在努力实现这个目标:

Reference_no    |Name   |Main_Country_ID    |Country_Name   |Job        |Local_Country_ID   |Country_Name
12345           |Name1  |1                  |UK             |Job1       |3                  |France
12345           |Name1  |1                  |UK             |Job2       |4                  |Germany
12346           |Name2  |2                  |US             |Job1       |1                  |UK
12347           |Name3  |1                  |UK             |Job1       |1                  |UK

到目前为止,我有以下内容:

select n.reference_no,
       n.name,
       n.reference_no,
       c.country_name,
       j.job,
       j.local_country_id
       c2.country_name
from names n
join jobs j on n.reference_no=j.reference_no
join country c on n.main_country_id=c.country_id
join country c2 on j.local_country_id=c2.country_id

这个SQL不起作用,因为它不喜欢'c2'引用。任何人都可以帮我创建这个查询吗?

由于

1 个答案:

答案 0 :(得分:0)

select n.reference_no,
       n.name,
       n.reference_no,
       c.country_name,
       j.job,
       j.local_country_id,
       c2.country_name
from names n
join jobs j on n.reference_no=j.reference_no
join country c on n.main_country_id=c.country_id
join country c2 on j.local_country_id=c2.country_id

也许你错过了加入中的c2: