ozzy t
asked on
Why is my sum function not working properly?
I am trying to do a simple sum on the "Booking_Factor" column(int) and it is not summing at all as if nothing , the values are the same, any idea? Thank You.
SELECT distinct
RES.Description,
Available_Date,
--LOC.Scheduling_Location_ID,
--DEPT.Description,
--Day_Type_ID,
--Available_Time_Block_ID,
--Available_Time_Block_TS,
Start_Time,
End_Time,
Usual_Appt_Duration,
SUM(Booking_Factor)AS Capacity
-- AVAILBLOCK.Activity_Type_ID,
-- ELIG.Appointment_Category_ID AS Elig_Appointment_Category_ID,
--INELIG.Appointment_Category_ID AS Inelig_Appointment_Category_ID
FROM PM.Available_Days AVAILDAY WITH (NOLOCK)
LEFT JOIN PM.Available_Time_Blocks AVAILBLOCK WITH (NOLOCK) ON AVAILBLOCK.Available_Day_ID = AVAILDAY.Available_Day_ID
--LEFT JOIN PM.Scheduling_Locations LOC WITH (NOLOCK) ON LOC.Scheduling_Location_ID = AVAILDAY.Scheduling_Location_ID
--LEFT JOIN PM.Scheduling_Departments DEPT ON DEPT.Scheduling_Department_ID = AVAILDAY.Scheduling_Department_ID
LEFT JOIN PM.Resources RES WITH (NOLOCK) ON RES.Resource_ID = AVAILDAY.Resource_ID
--LEFT JOIN PM.Activity_Elig_Appt_Categs ELIG WITH (NOLOCK) ON ELIG.Activity_Type_ID = AVAILBLOCK.Activity_Type_ID
--LEFT JOIN PM.Activity_Inelig_Appt_Categs INELIG WITH (NOLOCK) ON INELIG.Activity_Type_ID = AVAILBLOCK.Activity_Type_ID
WHERE AVAILDAY.Available_Date = '2017-03-09'
AND RES.Description = 'REYNOLDS, EUGENE II'
group by
RES.Description,
Available_Date,
Start_Time,
End_Time,
Usual_Appt_Duration
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank You for clarifying ! Really helped me out.
It's working as you expected?
ASKER
yes! the following is what worked:
SELECT
RES.Description,
Available_Date,
--LOC.Scheduling_Location_ID,
--DEPT.Description,
--Day_Type_ID,
--Available_Time_Block_ID,
--Available_Time_Block_TS,
--Start_Time ,
--End_Time,
--Usual_Appt_Duration,
sum( Booking_Factor)as capacity
-- AVAILBLOCK.Activity_Type_ID,
-- ELIG.Appointment_Category_ID AS Elig_Appointment_Category_ID,
--INELIG.Appointment_Category_ID AS Inelig_Appointment_Category_ID
FROM PM.Available_Days AVAILDAY
LEFT JOIN PM.Available_Time_Blocks AVAILBLOCK ON AVAILBLOCK.Available_Day_ID = AVAILDAY.Available_Day_ID
LEFT JOIN PM.Scheduling_Locations LOC WITH (NOLOCK) ON LOC.Scheduling_Location_ID = AVAILDAY.Scheduling_Location_ID
LEFT JOIN PM.Scheduling_Departments DEPT ON DEPT.Scheduling_Department_ID = AVAILDAY.Scheduling_Department_ID
LEFT JOIN PM.Resources RES ON RES.Resource_ID = AVAILDAY.Resource_ID
LEFT JOIN PM.Activity_Elig_Appt_Categs ELIG WITH (NOLOCK) ON ELIG.Activity_Type_ID = AVAILBLOCK.Activity_Type_ID
LEFT JOIN PM.Activity_Inelig_Appt_Categs INELIG WITH (NOLOCK) ON INELIG.Activity_Type_ID = AVAILBLOCK.Activity_Type_ID
WHERE AVAILDAY.Available_Date = '2017-03-08'
AND RES.Description = 'example MD, Name'
group by
RES.Description,
Available_Date
Good.
Can you close this question?
Cheers
Can you close this question?
Cheers
Recommendation to close this question by accepting the above comment as solution.
Define in simple English what you wish to sum Booking_Factor by. RES.Description? Available_Date_ID?
Then eyeballeth all of the columns in your GROUP BY clause, especially Start_Time and End_Time. Are they unique? If yes, that kinda defeats the purpose of doing the SUM, and you'll have to remove those columns and possibly others to get the correct sum amount.