srujanavinnakota
Starting Member
34 Posts |
Posted - 2013-06-27 : 16:59:08
|
Below is query I am using. Can somebody help me optimize it ..Please..Thanks in advance. SELECT DISTINCT stafffCourse.stafffId, stafffCourse.stafffCourseId, #Terms.stafffTerMId,#Terms.AddDropDate, 1,0 FROM #Terms INNER JOIN dbo.Schedule WITH (NOLOCK) ON #Terms.stafffTerMId = Schedule.stafffTerMId INNER JOIN dbo.stafffCourse WITH (NOLOCK) ON Schedule.stafffCourseId = stafffCourse.stafffCourseId INNER JOIN dbo.stafffProgVersion WITH (NOLOCK) ON stafffProgVersion.ProgramVersionID = stafffCourse.ProgramVersionID INNER JOIN dbo.stafffClassSched WITH (NOLOCK) ON Schedule.AdClassSchedID = stafffClassSched.AdClassSchedID and stafffClassSched.adDeliveryMethodID=2 INNER JOIN dbo.stafff WITH (NOLOCK) ON stafffCourse.stafffId = stafff.stafffId INNER JOIN dbo.DataStaging WITH (NOLOCK) ON CsteCollegeOnlineDataStaging.staffNum=stafff.staffNum WHERE ( ( dbo.cstfn_StatusAsOfDateAdded(stafffCourse.stafffCourseId, CASE WHEN LEFT(Sdf1,1) = 'L' THEN CASE WHEN Cast(REPLACE(Section, 'M', '') as INT)>= CAST('2000' AS INT) and CampusCode IN ('00929', '00933', '00962', '00963', '00964', '00965', '00967', '00968', '00978', '00984', '00988') THEN #Terms.AddDropDate + 8 WHEN Cast(REPLACE(Section, 'M', '') as INT)>= CAST('3000' AS INT) and CampusCode IN ('00575', '00576' , '00975') THEN #Terms.AddDropDate + 8 else #Terms.AddDropDate + 2 end ELSE #Terms.StartDate + 2 END) = 13 ) OR (dbo.[cstfn_StatusAsOfEffectiveDate](stafffCourse.stafffCourseId,Schedule.StartDate, CASE WHEN LEFT(Sdf1,1) = 'L' THEN CASE WHEN Cast(REPLACE(Section, 'M', '') as INT)>= CAST('2000' AS INT) and CampusCode IN ('00929', '00933', '00962', '00963', '00964', '00965', '00967', '00968', '00978', '00984', '00988') THEN #Terms.AddDropDate + 8 WHEN Cast(REPLACE(Section, 'M', '') as INT)>= CAST('3000' AS INT) and CampusCode IN ('00575', '00576' , '00975') THEN #Terms.AddDropDate + 8 else #Terms.AddDropDate + 2 end ELSE #Terms.StartDate + 2 END) = 13)) |
|