zoukankan      html  css  js  c++  java
  • 课表报表一个条件筛选时间段,可参考

    --正式课表查询
    ALTER proc confirm_schedule_report(@bdate datetime,@edate datetime,@week varchar(10),@student varchar(100),@key varchar(50))
    AS
    SET NOCOUNT ON
    BEGIN
    IF(@week='上周' AND @bdate='' AND @edate='')
    BEGIN
    SET @bdate=(SELECT DATEADD(wk, DATEDIFF(wk,6,getdate()), 0))
    SET @edate=(SELECT DATEADD(wk, DATEDIFF(wk,6,getdate()), 6))
    END
    IF(@week='本周' AND @bdate='' AND @edate='')
    BEGIN
    SET @bdate=(SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0))
    SET @edate=(SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 6))
    END
    IF(@week='下周' AND @bdate='' AND @edate='')
    BEGIN
    SET @bdate=(SELECT DATEADD(wk, DATEDIFF(wk,-6,getdate()), 0))
    SET @edate=(SELECT DATEADD(wk, DATEDIFF(wk,-6,getdate()), 6))
    END
    SELECT CONVERT(VARCHAR(10),date,120) 日期,student 学生,MAX(aa) 第一节,MAX(bb) 第二节,MAX(cc) 第三节,MAX(dd) 第四节 FROM
    (select distinct date,student,
    case ClassHour when '1' then '['+course+','+coursetype+','+CASE [type] WHEN 0 THEN '主课' WHEN 1 THEN '辅课' ELSE '' END+','+teacher+'],' end 'aa',
    case ClassHour when '2' then '['+course+','+coursetype+','+CASE [type] WHEN 0 THEN '主课' WHEN 1 THEN '辅课' ELSE '' END+','+teacher+'],' end 'bb',
    case ClassHour when '3' then '['+course+','+coursetype+','+CASE [type] WHEN 0 THEN '主课' WHEN 1 THEN '辅课' ELSE '' END+','+teacher+'],' end 'cc',
    case ClassHour when '4' then '['+course+','+coursetype+','+CASE [type] WHEN 0 THEN '主课' WHEN 1 THEN '辅课' ELSE '' END+','+teacher+'],' end 'dd'
    from Schedule) a
    WHERE ((ISNULL(@bdate,'')='' AND ISNULL(@edate,'')='' )OR (date BETWEEN @bdate AND @edate))
    AND (ISNULL(@student,'')='' OR student LIKE '%'+@student+'%' )
    AND (ISNULL(@key,'')='' OR aa LIKE '%'+@key+'%' OR bb LIKE '%'+@key+'%' OR cc LIKE '%'+@key+'%' OR dd LIKE '%'+@key+'%' )
    GROUP BY date,student
    ORDER BY student asc,date asc
    END

    每天一进步、一积累,创造自我价值,体现人生逼格,你是自己的赢家!
  • 相关阅读:
    算法与数据结构实验题 5.2 Missile
    算法与数据结构实验题 2.3 击鼓传花
    算法与数据结构实验题 2.4 排队
    Linux 添加自定义命令
    转 32位linux内核2.6.38.2添加系统调用,编写类似"ps"命令模块显示进程信息
    Linux内核模块程序加载方法
    Linux下sched.h文件分析
    Kali 爆破和非爆破无线路由账号和密码+让别人无线掉线
    Kali基于路由器的ARP欺骗转发机制
    Kali nmap教程用法简介
  • 原文地址:https://www.cnblogs.com/chlf/p/4255388.html
Copyright © 2011-2022 走看看