Milad.a.p
جمعه 04 اردیبهشت 1388, 00:26 صبح
سلام
من یک جدول دارم که توش اطلاعات ترمی دانشجویان ذخیره میشه یک جدول دیگه هم دارم که غیبت های دانشجویان در یک ترم خاص ذخیره میشه.
من میخوام تو یکی از ریپورتهام تعداد غیبتهای کل و تعداد غیبتهای موجه و تعداد غیبتهای غیر موجه رو به دست بیارم.
کدی که من تو استورد پریسیجر استفاده کردم از این قراره :
ALTER PROCEDURE dbo.RptGetStudentsAbsences
(
@TermID nchar(4),
@Level nchar(5),
@TeacherID nchar(10),
@ClassTime nchar(13),
@Branch nchar(5)
)
AS
SELECT Te.TLevel,Te.ClassTime,Te.Branch,T.FName,T.LName,A b.StudentID,S.FName,S.LName,
SUM(CASE WHEN Ab.Type = 'غیر موجه' THEN 1 ELSE 0 END) AS IAbs,
SUM(CASE WHEN Ab.Type = 'موجه' THEN 1 ELSE 0 END) AS TAbs,
COUNT(*) AS Totall
FROM AbsencesTable AS Ab
JOIN TermsTable AS Te ON(Ab.TermID = Te.TermID)
JOIN TeachersTable AS T ON(Te.TeacherID = T.TeacherID)
JOIN StudentsTable AS S ON(Ab.StudentID = S.StudentID)
WHERE Ab.TermID = @TermID AND Te.TLevel = @Level AND Te.TeacherID = @TeacherID AND Te.ClassTime = @ClassTime AND Te.Branch = @Branch
GROUP BY Te.TLevel,Te.ClassTime,Te.Branch,T.FName,T.LName,A b.StudentID,S.FName,S.LName
RETURN
ولی موفق نشدم نتیجه ی دلخواه رو بگیرم.
با تشکر.
من یک جدول دارم که توش اطلاعات ترمی دانشجویان ذخیره میشه یک جدول دیگه هم دارم که غیبت های دانشجویان در یک ترم خاص ذخیره میشه.
من میخوام تو یکی از ریپورتهام تعداد غیبتهای کل و تعداد غیبتهای موجه و تعداد غیبتهای غیر موجه رو به دست بیارم.
کدی که من تو استورد پریسیجر استفاده کردم از این قراره :
ALTER PROCEDURE dbo.RptGetStudentsAbsences
(
@TermID nchar(4),
@Level nchar(5),
@TeacherID nchar(10),
@ClassTime nchar(13),
@Branch nchar(5)
)
AS
SELECT Te.TLevel,Te.ClassTime,Te.Branch,T.FName,T.LName,A b.StudentID,S.FName,S.LName,
SUM(CASE WHEN Ab.Type = 'غیر موجه' THEN 1 ELSE 0 END) AS IAbs,
SUM(CASE WHEN Ab.Type = 'موجه' THEN 1 ELSE 0 END) AS TAbs,
COUNT(*) AS Totall
FROM AbsencesTable AS Ab
JOIN TermsTable AS Te ON(Ab.TermID = Te.TermID)
JOIN TeachersTable AS T ON(Te.TeacherID = T.TeacherID)
JOIN StudentsTable AS S ON(Ab.StudentID = S.StudentID)
WHERE Ab.TermID = @TermID AND Te.TLevel = @Level AND Te.TeacherID = @TeacherID AND Te.ClassTime = @ClassTime AND Te.Branch = @Branch
GROUP BY Te.TLevel,Te.ClassTime,Te.Branch,T.FName,T.LName,A b.StudentID,S.FName,S.LName
RETURN
ولی موفق نشدم نتیجه ی دلخواه رو بگیرم.
با تشکر.