查看连接两个表
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
子句中没有任何前缀。
我正在尝试在 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
子句中没有任何前缀。