If Thing.SelectedItem.Value <> "-1" Then
            Select Case Thing.SelectedItem.Text
                Case "迟到"
                    sql = "select ClassName as 班级,Stu_name as 姓名, Times as 迟到  from KQRecord ,Class,Profession,Department ,Affair where KQRecord.ClassID=Class.ClassID and Class.ProfessionID=Profession.ProfessionID and Profession.DepartmentID=Department.DepartmentID and Affair.AffairID=KQRecord.AffairID and Riqi > '" & Sdate.Value & "' and Riqi< '" & Edate.Value & "' and AffairName='迟到'"
                Case "早退"
                    sql = "select ClassName as 班级,Stu_name as 姓名, Times  as 早退  from KQRecord ,Class,Profession,Department ,Affair where KQRecord.ClassID=Class.ClassID and Class.ProfessionID=Profession.ProfessionID and Profession.DepartmentID=Department.DepartmentID and Affair.AffairID=KQRecord.AffairID and Riqi > '" & Sdate.Value & "' and Riqi< '" & Edate.Value & "'and AffairName='早退'"
  End Select
        End If 这样我查询出班级、姓名、早退或者迟到的次数。
If Thing.SelectedItem.Value = "-1" Then
            sql = ""        
End If 这里我想要查询出班级、姓名、迟到(次数)、早退(次数)、旷课(次数)这条语句怎么写啊`,还是要让 GridView动态的产生几列呢?如果要动态产生几列又是怎么弄啊`?(数据库中Affair表包括AffairID字段、AffairName字段,KQRecord表中也有AffairID字段)谢谢了``

解决方案 »

  1.   

    select ClassName as 班级,Stu_name as 姓名, Count(*) as 迟到次数  from KQRecord ,Class,Profession,Department ,Affair where KQRecord.ClassID=Class.ClassID and Class.ProfessionID=Profession.ProfessionID and Profession.DepartmentID=Department.DepartmentID and Affair.AffairID=KQRecord.AffairID and Riqi > '" & Sdate.Value & "' and Riqi< '" & Edate.Value & "' and AffairName='迟到'" GROUP BY Stu_ID, Stu_Name, ClassName注意,这里 Stu_ID 假设是你学生表的主键
      

  2.   

    楼上这位哥哥你这样子也是只能查询出班级、姓名、迟到次数啊,我想要把班级、姓名、迟到(次数)、早退(次数)、旷课(次数)这些字段给查询出来啊。(Affair表中的AffairName字段值有迟到、早退、旷课、请假)那条SQL=""怎么写啊`星星们再来帮忙看看啊(我的想法:应该是让让 GridView动态的增加几列,可又不知道怎么实现啊,郁闷`!!!!!)
      

  3.   

    你要判断的不都是Thing.SelectedItem.Value吗?写在一起不就行了?
    这里我想要查询出班级、姓名、迟到(次数)、早退(次数)、旷课(次数)
    ----------------------------------------------------------------------
    查询语句还能怎么写啊!
      

  4.   

    楼上这位哥哥。???我意思是:
    If Thing.SelectedItem.Value = "-1" Then
                sql = ""        
    End If (下拉框没选中任何考勤项目时,就将班级、姓名、迟到(次数)、早退(次数)、旷课(次数)这些字段给查询出来啊)
    即在GridView这样显示:
    班级   姓名   迟到   早退   旷课
    程序0501  aa       2         0          1
    这个语句怎么写 sql = ""  。(Affair表中的AffairName字段值有迟到、早退、旷课、请假)      
      

  5.   

    (数据库中Affair表包括AffairID字段、AffairName字段,KQRecord表中也有AffairID字段,而没有AffairName字段(即迟到、早退、旷课、请假))``
    等待流星!!!!!!!!!!!!!
      

  6.   

    用case吧select ClassName as 班级,Stu_name as 姓名,异常状态= AffairName from KQRecord ,Class,Profession,Department ,Affair where KQRecord.ClassID=Class.ClassID and Class.ProfessionID=Profession.ProfessionID and Profession.DepartmentID=Department.DepartmentID and Affair.AffairID=KQRecord.AffairID and Riqi > '" & Sdate.Value & "' and Riqi< '" & Edate.Value & "' " GROUP BY Stu_ID, Stu_Name, ClassName,AffairName
      

  7.   

    select ClassName as 班级,Stu_name as 姓名,迟到次数=sum (case  AffairName when '迟到' then 1 else 0 end),早退次数=sum (case  AffairName when '早退' then 1 else 0 end) from KQRecord ,Class,Profession,Department ,Affair where KQRecord.ClassID=Class.ClassID and Class.ProfessionID=Profession.ProfessionID and Profession.DepartmentID=Department.DepartmentID and Affair.AffairID=KQRecord.AffairID and Riqi > '" & Sdate.Value & "' and Riqi< '" & Edate.Value & "' " GROUP BY Stu_ID, Stu_Name, ClassName,AffairName----------------我只写了迟到和早退,其他的自己照着写吧
      

  8.   

    SELECT CLASSNAME AS °à&frac14;&para;,
           STU_NAME AS &ETH;&Otilde;&Atilde;&ucirc;,
           SUM(&sup3;&Ugrave;&micro;&frac12;) AS &sup3;&Ugrave;&micro;&frac12;&pound;¨&acute;&Icirc;&Ecirc;&yacute;&pound;&copy;,
           SUM(&Ocirc;&ccedil;&Iacute;&Euml;) AS &Ocirc;&ccedil;&Iacute;&Euml;&pound;¨&acute;&Icirc;&Ecirc;&yacute;&pound;&copy;,
           SUM(&iquest;&otilde;&iquest;&Icirc;) AS &iquest;&otilde;&iquest;&Icirc;&pound;¨&acute;&Icirc;&Ecirc;&yacute;&pound;&copy;
      FROM KQRECORD, CLASS, PROFESSION, DEPARTMENT, AFFAIR
     WHERE KQRECORD.CLASSID = CLASS.CLASSID
       AND CLASS.PROFESSIONID = PROFESSION.PROFESSIONID
       AND PROFESSION.DEPARTMENTID = DEPARTMENT.DEPARTMENTID
       AND AFFAIR.AFFAIRID = KQRECORD.AFFAIRID
       AND RIQI > '" & Sdate.Value & "'
       AND RIQI < '" & Edate.Value & "'
     GROUP BY CLASSNAME, STU_NAME
      

  9.   

    SELECT CLASSNAME AS 班级,
           STU_NAME AS 姓名,
           SUM(迟到) AS 迟到(次数),
           SUM(早退) AS 早退(次数),
           SUM(旷课) AS 旷课(次数)
      FROM KQRECORD, CLASS, PROFESSION, DEPARTMENT, AFFAIR
     WHERE KQRECORD.CLASSID = CLASS.CLASSID
       AND CLASS.PROFESSIONID = PROFESSION.PROFESSIONID
       AND PROFESSION.DEPARTMENTID = DEPARTMENT.DEPARTMENTID
       AND AFFAIR.AFFAIRID = KQRECORD.AFFAIRID
       AND RIQI > '" & Sdate.Value & "'
       AND RIQI < '" & Edate.Value & "'
     GROUP BY CLASSNAME, STU_NAME