有帮助吗?我找不到重复发生的地方:
SELECT *
FROM attempt
INNER JOIN gradebook_grade GRADES
on(ATTEMPT.gradebook_grade_pk1=GRADES.pk1 )
INNER JOIN gradebook_main GRADES_TITLE
on (GRADES.gradebook_main_pk1 = GRADES_TITLE.pk1)
INNER JOIN course_main Course
on (GRADES_TITLE.crsmain_pk1= Course.pk1)
LEFT JOIN mainJoinedTable2 ENROLLMENT
ON (Enrollment.course_users_pk1 = GRADES.course_users_pk1)
答案 0 :(得分:1)
您的pk1列有多个表,因此您必须在select语句中指定要投影的表pk1,因此您可以尝试以下操作
SELECT attempt .* ,GRADES.*,Course.*
FROM attempt
INNER JOIN gradebook_grade GRADES
on(ATTEMPT.gradebook_grade_pk1=GRADES.pk1 )
INNER JOIN gradebook_main GRADES_TITLE
on (GRADES.gradebook_main_pk1 = GRADES_TITLE.pk1)
INNER JOIN course_main Course
on (GRADES_TITLE.crsmain_pk1= Course.pk1)
LEFT JOIN mainJoinedTable2 ENROLLMENT
ON (Enrollment.course_users_pk1 = GRADES.course_users_pk1)
答案 1 :(得分:0)
快速搜索将我带到了View error in PostgreSQL
基本上,您联接了许多具有相同列名的表(在您的实例中,至少为以下各项:gradebook_grade.pk1
,course_main.pk1
,gradebook_main.pk1
)。您SELECT *
的事实使之成为事实,因此输出将具有许多pk1列,这将是不明确的。您需要在SELECT
中指定每一列,并使用别名重命名。