现在有一个成绩表,主要字段有学号,班级,姓名,科目,总评成绩,科任老师,学期这几个字段,而我们的系统是这样使用的。例如A班有50人,这学期共有5门课,那学期初会先进行初始化,那数据库内就会有 50×5=250条关于这个班的数据了(这250条数据初始化时,总评成绩是NULL)。现在期末了,由每个老师输入自己教的科目。今天终于输入完了,但是我想用SQL语句来查查有哪个班的哪一科的成绩是没有输入的。。因为有些学生是退学或者缺考的,那他们的总评成绩就不处理,也是NULL的。。所以我想根据 某一个班的某一科中,成绩为NULL的人数是否和这个班的总人数相等,相等的应该就是还没输入成绩的了这样的SQL语句应该怎么写呢?谢谢了
解决方案 »
- 用sql脚本在远程数据库服务器上执行,结果显示不支持create操作
- Sql server 2005中创建作业时失败?
- 数据库设计,一般用什么工具?
- ACCESS 在文本型字段中,找出最大的数字!
- 如何过滤sql表中的两列或三列相同的数据行,显示的是相同的数据,不相同的不显示
- 服务器: 消息 170,级别 15,状态 1,行 1;第 1 行: '0' 附近有语法错误。
- access可以的SQL,放到sqlserver里就不行了.
- 请问高手这段sql怎么写?
- 关于不同机器间数据库的访问问题...
- 请大家帮助写个SQL!
- 帮小妹一把,求一SQL,请大家帮忙,找出树的叶子结点????在线等,解决立结贴
- 错在哪里了
group by classid,courseid
having sum(case when grade is null then 1 else 0 end)=sum(studentid)
sum(studentid)
改为
count(studentid)
select 班级,科目,count(*) as 班级人数,sum(case when 总评成绩=0 then 1 else 0 end ) as 没有输入总评成绩,sum(case when 总评成绩>0 then 1 else 0 end) as 已经输入总评成绩
from project_saler_product where projectid ='0000000004' group by 班级,科目
select 班级,科目,count(*) as 班级人数,sum(case when 总评成绩=0 then 1 else 0 end ) as 没有输入总评成绩,sum(case when 总评成绩>0 then 1 else 0 end) as 已经输入总评成绩
from project_saler_product where projectid ='0000000004' group by 班级,科目 having count(*)=sum(case when 总评成绩=0 then 1 else 0 end )
where 总评成绩 is null
group by 科目
having count(*)=50
改成
总评成绩 is null