CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

在SQL server中怎么实现考查出勤情况啊.--在线等待,谢谢

楼主wowboy(星仔)2002-12-05 00:07:20 在 MS-SQL Server / 疑难问题 提问

我在帮老师做一个实验选课系时,遇到这个问题  
   
  就是如何得知学生一个星期里都没有选做过实验.  
  以备考查学生的出勤情况.  
   
  先谢啦. 问题点数:100、回复次数:10Top

1 楼dotAge(老朽)回复于 2002-12-05 00:42:06 得分 0

http://www.csdn.net/subject/4/Top

2 楼wowboy(星仔)回复于 2002-12-05 03:45:59 得分 0

哈,放心好啦,我一定给分的.  
   
  大家帮个忙吧Top

3 楼CCEO(CSDN的CEO)回复于 2002-12-05 07:58:13 得分 1

说清楚!Top

4 楼dongquestion(书山有路勤为径)回复于 2002-12-05 08:45:30 得分 1

你们有表结构怎么帮你啊Top

5 楼wowboy(星仔)回复于 2002-12-06 19:53:56 得分 0

哦,不好意思.  
  那我重新说说:  
  就是做一个系实验预约系统,学生可自由选择做实验的时间,但要求每一周都择一次,要不就要当其缺席一次.  
   
  学生表:学号,姓名  
  实验表:实验编号,实验时间,地点,老师编号,实验内容  
  预约表:学号,实验编号  
  出勤表:学号,缺席次数  
  问题就是怎么知道学生每一周(即星期一到五之内有没有选做个实验),还有是应该什么时候去检查.用不用在预约表里加入"时间"字段来实现,谢谢Top

6 楼dotAge(老朽)回复于 2002-12-07 00:01:22 得分 98

预约表:预约编号(ID),学号,实验编号,预约日期,预约履行  
   
  周表:编号(第X周),起始日期,结束日期  
  这个周表可以用程序自动创建,每学期大不了也就二十几周,不占多少空间,但却给统计带来极大的便利  
  写一个自定义函数f(日期)=周号,这很容易吧?  
   
  出勤表:学号,周号,实验次数  
   
  任何时间,需要统计时,告诉要统计第S周到第E周  
   
  INSERT   出勤表(学号,周号,实验次数)  
        SELECT   学号,F(预约日期),SUM(CASE   WHEN   预约履行=1   THEN   1   ELSE   0   END)   AS   实验次数    
        FROM   预约表   WHERE   F(预约日期)   BETWEEN   S   AND   E   GROUP   BY   学号,F(预约日期)  
   
  然后你就可以:  
  SELECT   周号,实验次数   FROM   出勤表   WHERE   学号=XXX   ORDER   BY   周号  
  很清楚地看出XXX哪一周实验次数=0  
   
  用  
  SELECT   学号,SUM(1)   AS   缺席次数   FROM   出勤表   WHERE   实验次数=0   GROUP   BY   学号  
  统计出所有缺席学生的缺席总数  
   
  以上为思路,SQL语句不一定正确  
  Top

7 楼dotAge(老朽)回复于 2002-12-07 00:09:06 得分 0

补充说明一下,第一次我让你看新手必读,就是让你把问题说清楚,没有别的意思。一旦你把事情说清楚了,大家才能帮你。  
   
  基本上有这样的规律,提问字数少,回答字数则多,提问字数多,回答字数则少,但谁愿意多写字呢?你想要得到答案,那你就得多写字。Top

8 楼dotAge(老朽)回复于 2002-12-07 00:14:22 得分 0

突然又想到,如果学生不预约的情形,那么统计出来的出勤表中将没有那些未预约周的记录,此时可以用周表与出勤表进行左连接,出勤表若没有记录则为NULL,用ISNULL(出勤次数,0)Top

9 楼wowboy(星仔)回复于 2002-12-07 13:08:00 得分 0

DotAge兄弟,谢谢你!  
  谢谢你的热情帮助,我第一次在SQL版提问的所以可能问的不太恰当。  
  我先结这个帖子啦,到时有问题时再向DotAge兄弟和大家请教。  
  再次谢谢DotAge,祝你早日加"一颗星"。Top

10 楼wowboy(星仔)回复于 2002-12-19 23:38:57 得分 0

ddTop

相关问题

  • SQL Server
  • SQL server
  • SQL SERVER问题
  • restore database for sql server
  • asp and SQL Server
  • vb and sql_server
  • 关于sql server?
  • SQL Server有病
  • SQL SERVER 查询
  • Dcom 与sql server

关键词

  • 学号
  • 字数
  • 学生
  • sql
  • 预约
  • 实验
  • 出勤表
  • 次数
  • 谢谢
  • 缺席

得分解答快速导航

  • 帖主:wowboy
  • CCEO
  • dongquestion
  • dotAge

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo