Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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将行透视到列中,即使行不存在_Mysql_Sql - Fatal编程技术网

MySQL将行透视到列中,即使行不存在

MySQL将行透视到列中,即使行不存在,mysql,sql,Mysql,Sql,我想将行转为列,但为每个成绩扫描(1-4)提供一个分数,即使学生在该科目中没有分数 这是我的桌子 students subjects gradesweeps id | stuname id | subname id | gradesweep 1 | steve 1 | english 1 | check_1 2 | Bob 2

我想将行转为列,但为每个成绩扫描(1-4)提供一个分数,即使学生在该科目中没有分数

这是我的桌子

students             subjects               gradesweeps
id  | stuname        id  |  subname         id  |  gradesweep
1   | steve          1   |  english         1   |  check_1
2   |  Bob           2   |  maths           2   |  check_2
                                            3   |  check_3
                                            4   |  check_4


grades
id | student_id | subject_id | gradesweep_id | grade
1    1            1            1               4
2    1            1            3               6
3    1            1            4               5
学生1的英语成绩为4分之3,但希望能够将成绩扫描2视为空结果或空结果

是否可能有这样的结果集

学生id=1
受试者id=1

student_id | subject_id | Check_1 | Check_2 | Check_3 | Check_4
1            1            4                   6         5
甚至更好

student_id | subject_id | gradesweep_id | grade
1            1            1               4
1            1            2               null or blank
1            1            3               6
1            1            4               5

不建议将数据库设计为容纳空列,应该避免。 如果您在设计数据库时遇到困难,我建议您阅读数据库规范化方面的内容。下面的链接解释了(1NF),接着是(2NF)和(3NF)


快乐编码

不建议将数据库设计为容纳空列,应该避免。 如果您在设计数据库时遇到困难,我建议您阅读数据库规范化方面的内容。下面的链接解释了(1NF),接着是(2NF)和(3NF)

快乐编码

可能的重复可能的重复