#2
ruizhaoz2015-04-12 10:08
|
数据库中有A. B两张表
A表
姓名 科目 分数
张三 语文 98
张三 数学 99
李四 语文 95
李四 数学 94
王五 语文 97
王五 数学 100
B表
姓名 科目 分数
张三 语文 92
张三 数学 100
王五 语文 93
王五 数学 96
刘六 语文 99
刘六 数学 92
如要生成一个新表C
姓名 语文 数学
张三 A表语文分-B表语文分 A表数学分-B表数学分
王五 A表语文分-B表语文分 A表数学分-B表数学分
也就是将两个表中姓名相同的记录提出来,科目进行行列转换(人员及有多少科目不确定,有多少就要转多少),再将两表相同科目对应的分数相减作为分值(同一人同一科目出现两个以上记录时要先汇总后再相减),而且相减分值超过10时返回10,分值小于零时返回0
请问以上问题有没有办法用SQL语句实现?烦指点。谢谢!