我有一个表,其中第一列指的是用户名,其他列指的是学生所做的每个科目以及每个科目的技能水平。这些科目属于数学,艺术等几个主要科目流。
我将数据标准化为下表。
主题_流
id Main_Stream Subject
1 Math pure-maths
2 Math applied-maths
3 Art Dancing
4 Art Music
学生表
id name subject skill_level
1 xxx Music 5
2 xxx Pur-math 4
3 xxx Applied-math 1
4 yyy Music 3
select subjects, skill_level where usename="xxx" order by Desc
我可以使用类似的查询来获取任何给定学生的科目及其技能水平。
除此之外,当我选择任何科目或科目集合时,我需要选择学生。并按降序打印他们的姓名、科目、技能水平。
在这里,任何学生也可以在不同的课程中学习不同的科目。
但是我不能轻易地从我现有的表中得到这个结果。如何正确执行此操作?我需要改进数据库架构吗?