比如有张数据表
name subject Source
张三 001 60
李四 002 70
王五 003 80
王五 002 75
王五 001 57
李四 001 80
张三 003 100
张三 004 50
李四 005 90
王五 006 90其中 subject对应的是另外一张代码表,包括所有科目代码,如下所示:
subject    code
语文      001
数学      002
英语      003
线性代数   004
计算机基础 005
电学       006
数据结构   007
C语言     008等等
我的问题是这样,怎么实现行为name,列为subject的交叉表,如下所示,其中列是不确定的,而且交叉表中的subject必须转换成相应的汉语名称,而不能显示为代码。不知如何实现,请高手指教
姓名   语文  数学  英语  线性代数  计算机基础  电学  
张三    60         100    
李四    80   70                    90
王五    57   75    80                        90
如果第二次统计,新增了学生的其它成绩记录,比如数据结构,C语言等等,则列向所示课目自动增加,如下所示
姓名   语文  数学  英语  线性代数  计算机基础  电学  数据结构  C语言
张三    60         100    
李四    80   70                    90
王五    57   75    80                        90 
钟浩    60   60                                     100       100