MySQL将行透视到列中,即使行不存在
我想将行转为列,但为每个成绩扫描(1-4)提供一个分数,即使学生在该科目中没有分数 这是我的桌子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
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) 快乐编码 可能的重复可能的重复