首页 > 解决方案 > 在相对于 ID 的 2 个表之间选择同一行

问题描述

我是 SQL 语法的初学者。我有 2 个表STUDENT,并且EXAMINATION我在 1 行中尝试编写一个查询来 printID和. 我没有被告知哪一列属于哪个表,但我的猜测是属于和属于。 是同一个学生参加该科目考试的次数。SUBJECTNUMBER_OF_TIMESIDSTUDENTSUBJECTEXAMINATIONNUMBER_OF_TIMES

我试过SELECT STUDENT.ID, EXAMINATION.SUBJECT, NUMBER_OF_TIMES但没有运气。

标签: mysqlsql

解决方案


您的工作查询将如下所示:

SELECT
    s.ID,
    e.SUBJECT,
    COUNT(e.STUDENT_ID) AS cnt
FROM STUDENT s
LEFT JOIN EXAMINATION e
    ON s.ID = e.STUDENT_ID
GROUP BY
    s.ID,
    e.SUBJECT

这个答案假设,真的没有必要,在考试表中存在一个连接列STUDENT_ID,它与学生表连接。我们使用左连接来报告所有学生,即使是那些计数为零的学生。


推荐阅读