我正在尝试使用此代码加入6个表
select publications.ISSUE_NUMBER,publications.pages,publications.ihe_issue_id ,
publications.PUBLISHER_NAME , people.first_name,
people.last_name,countries.country, people.email, content.name_display
FROM publications
join content
content.content_id = publications.content_id
join people
people.content_id = content.content_id
JOIN pubauthor_people ON
people.people_id = pubauthor_people.people_id
JOIN countries ON
countries.country_id = people.mail_country_id
JOIN content ON
content.content_id = people.content_id
我收到错误
ORA-00905:缺少关键字。
我不认为我错过了关键字。
答案 0 :(得分:2)
好吧,您似乎错过了前两个联接中的ON
。
FROM publications
JOIN content ON <== missing ON
content.content_id = publications.content_id
JOIN people ON <== missing ON
people.content_id = content.content_id
答案 1 :(得分:1)
对于前两个JOIN
,您缺少ON
关键字,如下所示
FROM publications
join content
content.content_id = publications.content_id <-- Here
join people
people.content_id = content.content_id <-- Here
旁注:由于您在加入join
表时已经这样做,因此您的content
people
表格是不必要的。
JOIN content ON
content.content_id = people.content_id
再进一步,JOIN
带pubauthor_people
表是不必要的,因为我没有看到你从该表中获取任何列,也没有与其他表的依赖关系。
您的最终查询应如下所示
select publications.ISSUE_NUMBER,
publications.pages,
publications.ihe_issue_id ,
publications.PUBLISHER_NAME ,
people.first_name,
people.last_name,
countries.country,
people.email,
content.name_display
FROM publications
join content
on content.content_id = publications.content_id
join people
on people.content_id = content.content_id
JOIN countries ON
countries.country_id = people.mail_country_id;