查看连接两个表

View Join Two Tables

我正在尝试在 postgresql 上创建此视图,但出现以下错误:

创建一个名为:FacultyCourses 的视图:使用 faculty_id 加入 Faculties、Courses 表并显示以下变量的值:faculty_id、名称(Faculties)、级别(Faculties)、 course_id、描述(课程)、级别(课程)。

CREATE VIEW FacultyCourses AS
SELECT faculty_id, name, level, course_id, description,level
FROM faculties, courses;

SELECT * FROM FacultyCourses;

错误: 错误:列引用“级别”不明确 LINE 2: SELECT faculty_id, name, level, course_id, description,level ^ SQL 状态:42702 字符数:56

谢谢大家

level 不明确,因为它存在于两个 table 中:用它所属的 table 限定它 - 以及所有其他列(这是最佳实践).

此外,您的查询显然需要 table 之间的连接条件。

所以:

create view facultycourses as
select faculty_id, f.name, f.level, c.course_id, c.description, c.level
from faculties f
inner join courses c using (facility_id);

连接的 using() 子句明确地解析了列名 - 因此在 select 子句中没有任何前缀。