میخوام روی جدول نمرات یک کوئری اجرا کنم که مشخص بشه کدام دبیر نمرات مربوط به ماههای مختلف رو وارد کردن یا نه؟
من از یه فانکشن استفاده کردم . نتیجه ای که میخوام رو بهم میده ولی سرعت اجرا افتضاحه.
خواستم بدونم آیا روش بهتری وجود داره؟
select distinct weeklySchedules.lessonID,lessons.lessonTitle,gradesCourses.gradeCourseTitle,weeklySchedules.class as classNumber,weeklySchedules.employeeID, weeklySchedules.schoolGradeCourseID,employeesFixedInfo.firstName,employeesFixedInfo.lastName, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,7,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as mehr, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,8,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as aban, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,9,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as azar, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,10,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as dey, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,11,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as bahman, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,12,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as esfand, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,1,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as farvardin, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,2,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as ordibehesht, dbo.getEmployeeScoesCount(@yearID,weeklySchedules.employeeID,3,weeklySchedules.lessonID,weeklySchedules.schoolGradeCourseID,weeklySchedules.class,@schoolID) as khordad from weeklySchedules inner join employeesFixedInfo on employeesFixedInfo.ID = weeklySchedules.employeeID inner join lessons on lessons.ID = weeklySchedules.lessonID inner join schoolGradesCourses on schoolGradesCourses.ID = weeklySchedules.schoolGradeCourseID and schoolGradesCourses.yearID = @yearID and schoolGradesCourses.schoolID = @schoolID inner join gradesCourses on gradesCourses.ID = schoolGradesCourses.gradeCourseID where weeklySchedules.employeeID in(SELECT ID FROM dbo.StringToIntList(@employee_IDs,',')) and weeklySchedules.yearid = @yearID and weeklySchedules.schoolID = @schoolID order by lastName
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)