Avatar of ozzy t
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
 

Open in new window

Microsoft SQL ServerSQL

Avatar of undefined
Last Comment
Vitor Montalvão

8/22/2022 - Mon
Jim Horn

>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.
ASKER CERTIFIED SOLUTION
Vitor Montalvão

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ozzy t

ASKER
Thank You for clarifying ! Really helped me out.
Vitor Montalvão

It's working as you expected?
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
ozzy t

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
        
   

Open in new window

Vitor Montalvão

Good.
Can you close this question?
Cheers
Vitor Montalvão

Recommendation to close this question by accepting the above comment as solution.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.