有个一张表:学员成绩表student_info
字段:
id,name,yuwen,yuwen1,shuxue,shuxue1,yingyu,yingyu1
也就是这样的效果:
姓名 | 语文 | 摘要 | 数学 | 摘要 | 英语 | 摘要 | |
张三 | 90 | aaa | 98 | ccc | 40 | dfa | |
李四 | 99 | bbb | 87 | ccc | 30 | dfa |
转换成: 下面这样
姓名 | 摘要 | 科目 | 分数 | 。 |
张三 | aaa | 语文 | 90 | |
张三 | ccc | 数学 | 98 | |
张三 | dfa | 英语 | 40 | |
李四 | bbb | 语文 | 99 | |
李四 | ccc | 数学 | 87 | |
李四 | dfa | 英语 | 30 |
请问如何写sql?
这样试试
[code="java"]select * from(
select name,yuwen1 as zhaiyao,'语文' as kemu,yuwen as fenshu from student_info
union
select name,shuxue1 as zhaiyao,'数学' as kemu,shuxue as fenshu from student_info
union
select name,shuxue1 as zhaiyao,'英语' as kemu,yingyu as fenshu from student_info
)
order by name[/code]
这个我也没试验,是一个思想,希望楼主可以看的明白