Sub-Query group-by count(*) not returning 0
You don't need a join. First you need to GROUP BY employee, in order to get the hours per employee. Assuming you have an employee_id that identifies employees:

 SELECT
     employee_id, 
     SUM(TRAINING_HOURS) AS Hours_Worked
 FROM 
     EMPLOYEE_TRAINING_RECORD
 GROUP BY 
     employee_id ;


Then you need to do another GROUP BY, in the whole result set, to count the number of employees that have over and under 75 hours:

SELECT
   COUNT(CASE WHEN Hours_Worked &gt;= 75 THEN 1 END) AS Completed_Training,
   COUNT(CASE WHEN Hours_Worked  &lt; 75 THEN 1 END) AS Incomplete_Training
FROM
   (  SELECT
         -- employee_id,      -- we don't need that in the final results 
         SUM(TRAINING_HOURS) AS Hours_Worked
      FROM 
         EMPLOYEE_TRAINING_RECORD
      GROUP BY 
         employee_id
   ) grp                   -- the first group result set
 ;


You could also use window functions and not use subqueries but the code is rather obfuscated:

SELECT DISTINCT 
   COUNT(CASE WHEN SUM(TRAINING_HOURS) &gt;= 75 THEN 1 END) 
      OVER () AS Completed_Training,
   COUNT(CASE WHEN SUM(TRAINING_HOURS)  &lt; 75 THEN 1 END)
      OVER () AS Incomplete_Training
FROM
   EMPLOYEE_TRAINING_RECORD
GROUP BY 
   employee_id ;