• 自动做题


      1 /*
      2 *自动做题
      3 *
      4 */
      5 --实际成绩
      6 select  cj.KSBH, cj.KSLB, fs,200-cj.FS*2 kf from (
      7 select  KSBH, KSLB, FS from (
      8 select  double (substr(clh,POSSTR(clh,':')+1,POSSTR(clh,';')-POSSTR(clh,':')-1)) fs,clh, b.RYSQID, b.KSBH, b.XM, b.KSLBBH, b.KSLB, b.BY09, b.KSCJ 
      9 from (
     10 select  substr(BY09, WZ,length(BY09)-wz+1) clh,a.RYSQID, a.KSBH, a.XM, a.KSLBBH, a.KSLB, a.BY09, a.KSCJ
     11 from (
     12 select ksxx.RYSQID,ksxx.KSBH , ksxx.XM, ksxx.KSLBBH, kslb.KSLBBH kslb ,case when RIGHT(by09,1)<>';' then by09||';' else by09 end by09, ksxx.KSCJ , LOCATE (kslb.KSLBBH,by09) wz
     13 from KS_KSXX ksxx
     14 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     15 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0' 
     16 and  ksxx.KSCJ is not null and  kslb.KSLBBH like '%40%'
     17 and ksxx.BY09 is not null
     18 )a
     19 )b
     20 )c
     21 union all
     22 select ksxx.KSBH , kslb.KSLBBH kslb ,double(ksxx.KSCJ) fs
     23 from KS_KSXX ksxx
     24 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     25 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0'
     26 and kslb.KSLBBH not like '4%'
     27 ) cj;
     28 --试题规则
     29     select  STLBBH, sum(TS) ts, MTFS, KSLBBH 
     30     from KS_STGZ 
     31     where KSLBBH='501'
     32     group by STLBBH, MTFS, KSLBBH;
     33 --试题规则    
     34     select   kslb.KSLBBH ,   gz1.TS ts1, gz1.MTFS fs1 , gz2.TS ts2, gz2.MTFS fs2, gz3.TS ts3, gz3.MTFS fs3
     35     from KS_KSLB kslb 
     36     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH) gz1 
     37     on  gz1.STLBBH='102201'  and kslb.KSLBBH = gz1.KSLBBH
     38     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz2 
     39     on  gz2.STLBBH='102202'  and kslb.KSLBBH = gz2.KSLBBH
     40     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz3 
     41     on  gz3.STLBBH='102203'  and kslb.KSLBBH = gz3.KSLBBH
     42    ;
     43     --where kslb.KSLBBH  in ('101','102','201','202','301','302','303','304','305','306','307','308','309','310')
     44 --人分数和试题的直接关系;
     45 select  cj.KSBH, cj.KSLB, fs,200-cj.FS*2 kf, gz.TS1, gz.FS1, gz.TS2, gz.FS2, gz.TS3, gz.FS3 from (
     46 select  KSBH, KSLB, FS from (
     47 select  double (substr(clh,POSSTR(clh,':')+1,POSSTR(clh,';')-POSSTR(clh,':')-1)) fs,clh, b.RYSQID, b.KSBH, b.XM, b.KSLBBH, b.KSLB, b.BY09, b.KSCJ 
     48 from (
     49 select  substr(BY09, WZ,length(BY09)-wz+1) clh,a.RYSQID, a.KSBH, a.XM, a.KSLBBH, a.KSLB, a.BY09, a.KSCJ
     50 from (
     51 select ksxx.RYSQID,ksxx.KSBH , ksxx.XM, ksxx.KSLBBH, kslb.KSLBBH kslb ,case when RIGHT(by09,1)<>';' then by09||';' else by09 end by09, ksxx.KSCJ , LOCATE (kslb.KSLBBH,by09) wz
     52 from KS_KSXX ksxx
     53 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     54 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0' 
     55 and  ksxx.KSCJ is not null and  kslb.KSLBBH like '%40%'
     56 and ksxx.BY09 is not null
     57 )a
     58 )b
     59 )c
     60 union all
     61 select ksxx.KSBH , kslb.KSLBBH kslb ,double(ksxx.KSCJ) fs
     62 from KS_KSXX ksxx
     63 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     64 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0'
     65 and kslb.KSLBBH not like '4%'
     66 ) cj
     67 left join 
     68 (
     69     select   kslb.KSLBBH ,   gz1.TS ts1, gz1.MTFS fs1 , gz2.TS ts2, gz2.MTFS fs2, gz3.TS ts3, gz3.MTFS fs3
     70     from KS_KSLB kslb 
     71     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH) gz1 
     72     on  gz1.STLBBH='102201'  and kslb.KSLBBH = gz1.KSLBBH
     73     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz2 
     74     on  gz2.STLBBH='102202'  and kslb.KSLBBH = gz2.KSLBBH
     75     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz3 
     76     on  gz3.STLBBH='102203'  and kslb.KSLBBH = gz3.KSLBBH
     77 ) gz on  cj.KSLB=gz.KSLBBH;
     78 --吧关系存入中间表
     79 insert into ZDZT(KSBH, KSLB, FS, KF, TS1, FS1, TS2, FS2, TS3, FS3 )
     80 select  cj.KSBH, cj.KSLB, fs,200-cj.FS*2 kf, gz.TS1, gz.FS1, gz.TS2, gz.FS2, gz.TS3, gz.FS3 from (
     81 select  KSBH, KSLB, FS from (
     82 select  double (substr(clh,POSSTR(clh,':')+1,POSSTR(clh,';')-POSSTR(clh,':')-1)) fs,clh, b.RYSQID, b.KSBH, b.XM, b.KSLBBH, b.KSLB, b.BY09, b.KSCJ 
     83 from (
     84 select  substr(BY09, WZ,length(BY09)-wz+1) clh,a.RYSQID, a.KSBH, a.XM, a.KSLBBH, a.KSLB, a.BY09, a.KSCJ
     85 from (
     86 select ksxx.RYSQID,ksxx.KSBH , ksxx.XM, ksxx.KSLBBH, kslb.KSLBBH kslb ,case when RIGHT(by09,1)<>';' then by09||';' else by09 end by09, ksxx.KSCJ , LOCATE (kslb.KSLBBH,by09) wz
     87 from KS_KSXX ksxx
     88 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     89 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0' 
     90 and  ksxx.KSCJ is not null and  kslb.KSLBBH like '%40%'
     91 and ksxx.BY09 is not null
     92 )a
     93 )b
     94 )c
     95 union all
     96 select ksxx.KSBH , kslb.KSLBBH kslb ,double(ksxx.KSCJ) fs
     97 from KS_KSXX ksxx
     98 left join KS_KSLB kslb on LOCATE (kslb.KSLBBH, ksxx.kslbbh)  >0 and kslb.KSLBBH<>'404'
     99 where ksxx.KSBPBH>'330416081' and  ksxx.KSBPBH like '3304%' and ksxx.REMOVED='0'
    100 and kslb.KSLBBH not like '4%'
    101 ) cj
    102 left join 
    103 (
    104     select   kslb.KSLBBH ,   gz1.TS ts1, gz1.MTFS fs1 , gz2.TS ts2, gz2.MTFS fs2, gz3.TS ts3, gz3.MTFS fs3
    105     from KS_KSLB kslb 
    106     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH) gz1 
    107     on  gz1.STLBBH='102201'  and kslb.KSLBBH = gz1.KSLBBH
    108     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz2 
    109     on  gz2.STLBBH='102202'  and kslb.KSLBBH = gz2.KSLBBH
    110     left join  (select  STLBBH, sum(TS) ts, MTFS, KSLBBH from KS_STGZ group by STLBBH, MTFS, KSLBBH)gz3 
    111     on  gz3.STLBBH='102203'  and kslb.KSLBBH = gz3.KSLBBH
    112 ) gz on  cj.KSLB=gz.KSLBBH;
    113 
    114 ----
    115 select  a3.FALG, a3.KSBH, a3.KSLB, a3.FS, a3.KF, a3.TS1, a3.FS1, a3.TS2, a3.FS2, a3.TS3, a3.FS3
    116 ,case when FALG is null then(case when c3*fs3+c2*fs2=kf then 0 when MOD (kf-c3*fs3+c2*fs2, fs1)=0 then (kf-c3*fs3+c2*fs2)/fs1 end)
    117 else a3.c1 end as c1
    118 , a3.C2, a3.C3 
    119 from (
    120 select  a2.FALG, a2.KSBH, a2.KSLB, a2.FS, a2.KF, a2.TS1, a2.FS1, a2.TS2, a2.FS2, a2.TS3, a2.FS3
    121 , a2.C1
    122 ,case when FALG is null then (case when kf-TS3*c3<fs2 then 0  
    123                                    when kf-ts3*c3-ts2*c2>0 then ts2 
    124                                    else  (kf-ts3*c3)/fs2 
    125                               end)
    126 else a2.c2 end c2
    127 ,a2.C3 
    128 from 
    129 (
    130 select  a1.FALG, a1.KSBH, a1.KSLB, a1.FS, a1.KF, a1.TS1, a1.FS1, a1.TS2, a1.FS2, a1.TS3, a1.FS3
    131 ,case when FALG=1 then  a1.C1 when falg =2 then (kf-(c2*fs2))/fs1 when falg=1 then C1 end  c1
    132 ,case when FALG =2  then c2 when falg =1 then 0  end c2
    133 ,case when FALG is null  then(case when  FS3*ts3< kf then TS3 else kf/fs3 end) else 0 end c3
    134 from 
    135 (
    136 select  case when FALG is null and mod((kf-c2*fs2),fs1)=0 and (kf-c2*fs2)<fs1*ts1 then 2 when falg is not null then falg end falg
    137 , KSBH, KSLB, fs, KF, TS1, FS1, ts2,fs2,ts3,fs3,case when falg=1 then 0 else c2 end c2,case when falg=1 then a.KF/fs1 end c1
    138 from (
    139     select  case when  TS1*fs1>=kf and mod(KF, FS1 )=0   then  1 end falg,case when fs2*ts2>kf then kf/fs2 else ts2 end  c2
    140     ,KSBH, KSLB, fs, KF, TS1, FS1, ts2,fs2,ts3,fs3
    141     from ZDZT 
    142 )a
    143 )a1
    144 )a2
    145 )a3
  • 相关阅读:
    LG P4284 [SHOI2014]概率充电器
    LG P2592 [ZJOI2008]生日聚会
    LG P4953 [USACO02FEB]Cow Cycling
    LG P2389 电脑班的裁员
    LG P2344 [USACO11FEB]Generic Cow Protests G
    前端简历
    前端面试题目
    大前端的技术栈
    前端 -为什么要清楚浮动?
    Redis的功能实现
  • 原文地址:https://www.cnblogs.com/Anguo/p/7246243.html
Copyright © 2020-2023  润新知