日期:2014-05-18  浏览次数:20459 次

麻烦各位高手阿,请教一个统计的SQL语句
现有两张表:
                    1、ExamBaseInfo含以下字段:
                      Id、ExamName、IsSave、ExamYear、ExamPersons、ExamDeptId    
                      ExamName:考试名称

                      2、ExamStatistics含以下字段:
                      Id、ExamId、EmployeeNo、EmployeeName、IsExam、Dept
                      IsExam:是否参加考试,F为没参加,T为已参加      

     表   ExamBaseInfo的Id   与表ExamStatistics的ExamId关联
                   
     如何创建视图实现以下功能:

                    按ExamName(考试名称)分组,分别统计已参加考试   (IsExam为T)、未参加考试(IsExam为F)的人数

------解决方案--------------------

/*楼主如果用视图的话*/
---创建视图
Create View V_Display
As
Select
Dept as 部门名称,
Sum(case IsExam when 'T ' then 1 else 0 end) as [参加考试人数],
Sum(case IsExam when 'F ' then 1 else 0 end) as [未参加考试人数],
Sum(Case when Mark> 90 then 1 else 0 end) as [优秀人数]
From
ExamStatistics
Group by Dept
Go
---查询
Select * from V_Display