读书人

一条SQL语句.希望大哥哥门帮忙看看^

发布时间: 2011-12-29 22:09:38 作者: rapoo

一条SQL语句........在线等,希望大哥哥门帮忙看看^_^!
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字段)谢谢了``



[解决办法]
帮顶,一起期待高手解决!!!!!!!!!!!
[解决办法]
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

----------------我只写了迟到和早退,其他的自己照着写吧
[解决办法]
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

读书人网 >asp.net

热点推荐