如何从三个不同的表连接三个字段.MySQL

时间:2017-01-24 16:33:32

标签: mysql

不需要这个问题,因为我甚至没有使用它

2 个答案:

答案 0 :(得分:0)

MySQL会按照

的方式向你说些什么
ERROR 1052 (23000): Column 'student_id' in on clause is ambiguous

这是错误消息。当您遇到如何修复错误时,必须始终在问题中发布错误。

碰巧我认为问题是你没有在student_id = student_id中指定表格,而且多个表格中有一个名为student_id的列。此外,您不需要多次加入。您只需要连接一次表,就可以根据需要多次使用其列。

所以你需要的代码如下:

SELECT students.student_id, entries.exam_date, students.first_name,   subjects.subject_name,
FROM students
INNER JOIN entries ON entries.student_id=students.student_id

学习提出好的问题与学习编程语言同样重要。我建议阅读:http://www.catb.org/~esr/faqs/smart-questions.html

答案 1 :(得分:0)

为了避免含糊不清的条款,你必须为你所连接的列添加前缀,并且必须将subjects表添加到表中:

SELECT students.student_id, entries.exam_date, students.first_name, subjects.subject_name,
FROM students
INNER JOIN entries ON students.student_id = entries.student_id,
INNER JOIN subjects ON students.student_id = subjects.student_id;