作者:心之约会446 | 来源:互联网 | 2023-05-18 05:01
现在有三张表bsn_com_record三项竞赛扣分加分表bsn_class_info班级信息表bsn_week_info学期周数表bsn_com_record表结构如下id:自增
现在有三张表
bsn_com_record 三项竞赛扣分加分表
bsn_class_info 班级信息表
bsn_week_info 学期周数表
bsn_com_record 表结构如下
id:自增字段[int]
c_id:对应班级信息表ID[int]
sort:分类(1:加分,2:扣分)[int]
score:分数[int]
wirteTime:记录时间[datetime]
bsn_class_info表结构如下
c_id:自增id[int]
c_name:班级名称[varchar]
y_id:隶属于哪一个学年[int]
其他字段不重要就不写了
bsn_week_info表结构如下
id:自增id
week_Name:代表第几周(例:第一周)[varchar]
w_stime:周开始时间[datetime]
w_etime:周结束时间[datetime]
y_id:隶属于哪一个学年[int]
现在的要求统计某一周各个班级从周一至周日的三项竞赛的成绩(每天加分的总和减去扣分),最后还需要一个汇总,
需要周一至周日的每天的分数情况,如没有扣分,就显示0(也就是说周一至周日是固定显示的)
图片如下
数据我例一些,请大神帮我一下,想了半天弄不出来
bsn_class_info
1,101班,1
2,102班,1
3,103班,1
4,201班,1
5,202班,1
bsn_week_info
1,第一周,2017-09-01,2017-09-08,1
2,第二周,2017-09-09,2017-09-16,1
bsn_com_record
1,1,1,2,2017-09-03
2,2,2,1,2017-09-03
3,1,2,1,2017-09-03
4,3,1,1,2017-09-05
7 个解决方案
其实不单单是行转列的问题,现在有一个问题是扣分与加分都是一样的数字,我统计的时候怎么处理?
而且会出现,周几没有数据的情况,这种情况怎么显示出来?刚接触SQL,麻烦告之一下