Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQl Workbench中,如何从三个单独的表中返回一个输出表,每个表中有一行?_Mysql_Sql_Mysql Workbench_Rdbms - Fatal编程技术网

在MySQl Workbench中,如何从三个单独的表中返回一个输出表,每个表中有一行?

在MySQl Workbench中,如何从三个单独的表中返回一个输出表,每个表中有一行?,mysql,sql,mysql-workbench,rdbms,Mysql,Sql,Mysql Workbench,Rdbms,问题如下: 写一个显示学生成绩单的查询。查询应输出以下列: 学生姓名 课程名称 数字等级 对于额外的学分,请以字母而不是数字的形式列出分数 3个相关表格如下: 登记 其中包含列 科号/学生号/成绩(这是使用不带小数的4分GPA系统的数字) 学生 其中包含列 ID/姓名/电子邮件 课程 其中包含列 ID/标题/说明/单位 我能想到的最好办法是: select name, Grade, Title from SELECT * FROM ( student join regist

问题如下:

写一个显示学生成绩单的查询。查询应输出以下列:

  • 学生姓名
  • 课程名称
  • 数字等级
  • 对于额外的学分,请以字母而不是数字的形式列出分数

    3个相关表格如下:

    登记 其中包含列

    科号/学生号/成绩(这是使用不带小数的4分GPA系统的数字)

    学生 其中包含列

    ID/姓名/电子邮件

    课程 其中包含列

    ID/标题/说明/单位

    我能想到的最好办法是:

    select name, Grade, Title 
    from SELECT * FROM 
    (
        student 
        join registration 
        on registration.Student_ID = student.ID
        join course on course.ID = registration.Section_ID
    ) as transcript group by student ;
    
    这给了我1064语法错误,我不知道为什么。尝试一个嵌套的select语句,其中只有两个表有效,但不知道为什么拒绝从三重连接中选择


    至于额外学分部分,我不知道除了在grades列上运行update table语句并将1、2、3、4设置为D、C、B、A之外,还应该做什么。

    您的select语句存在一些语法问题。查询应如下所示。您需要正确地使用JOIN来使用关系键列在两个表之间建立关系

    SELECT name, Grade, Title 
    FROM Student A
    INNER JOIN registration B B.Student_ID = A.ID
    INNER JOIN Course C C.ID = B.Section_ID
    
    要获得每个学生的结果,请在脚本末尾应用筛选器,如下所示:-

    WHERE A.ID = N --Put Student ID Here.
    

    您不需要子查询。只需从联接表中选择所需的列。对于额外学分,请使用
    案例
    声明。我更喜欢
    sqlserver
    ,但我认为
    MySql
    可以做一个
    Case
    。这将为您指明正确的方向。