mysql - 如何使用 INNER JOIN 接收另一个表中具有学生 ID 的用户的名字?

标签 mysql sql join

我有两个表学生和结果 我一直试图在查看结果记录时显示学生的名字。

表学生有字段studentid和firstname

表结果包含字段studentid、assessmentid和grade

我已使用 INNER JOIN 尝试了以下操作,但似乎无法链接学生的名字和学生 ID 来显示结果

SELECT result.assessmentid student.firstname, result.date_submitted
FROM result
INNER JOIN student
ON result.studentid=student.studentid; 

谁能看出问题所在吗?

编辑:很抱歉没有格式化代码,感谢曾经做过的人

最佳答案

主要问题是您在 result.assessmentid 和 Student.firstname 之间缺少逗号,这会使语法无效并引发错误...

另一个可能的问题是您使用内部联接,这会过滤掉没有结果的学生。如果您想要所有学生,则使用学生作为主要来源并左连接结果,如下所示:

SELECT result.assessmentid, student.firstname, result.date_submitted
FROM student
LEFT JOIN result ON result.studentid=student.studentid; 

关于mysql - 如何使用 INNER JOIN 接收另一个表中具有学生 ID 的用户的名字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311808/

相关文章:

javascript - 提交表单后刷新页面

sql - 聚合查询中切换大小写

java - HIbernate 标准别名未加入

类似sql操作符rails上的Mysql错误

php - 将 SQL 转换为 Eloquent 以连接多个表并计数

mysql - WooCommerce 的类别和子类别如何保存在数据库中?

mysql - 仅当在 Table1 中找到要插入的值时才插入 Table2

java - 如何连接 Apache Derby 数据库中的三个表?

join - webdis 服务器端加入

mysql - sql右连接从右表返回多行