We help IT Professionals succeed at work.

Why is my sum function not working properly?

ozzy t
ozzy t asked
on
80 Views
Last Modified: 2017-03-28
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
 

Open in new window

Comment
Watch Question

Jim HornSQL Server Data Dude
CERTIFIED EXPERT
Most Valuable Expert 2013
Author of the Year 2015

Commented:
>and it is not summing at all as if nothing
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.
IT Engineer
CERTIFIED EXPERT
Distinguished Expert 2017
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION
ozzy tDeveloper/Health Informatics

Author

Commented:
Thank You for clarifying ! Really helped me out.
Vitor MontalvãoIT Engineer
CERTIFIED EXPERT
Distinguished Expert 2017

Commented:
It's working as you expected?
ozzy tDeveloper/Health Informatics

Author

Commented:
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
        
   

Open in new window

Vitor MontalvãoIT Engineer
CERTIFIED EXPERT
Distinguished Expert 2017

Commented:
Good.
Can you close this question?
Cheers
Vitor MontalvãoIT Engineer
CERTIFIED EXPERT
Distinguished Expert 2017

Commented:
Recommendation to close this question by accepting the above comment as solution.