You need to pass the parameter when calling the procedure:DECLARE @Did int, @WO float, @W float, @pct floatSET @Did = 1EXEC dbo.WEB_SO_Analyze @Did, @WO OUTPUT, @W OUTPUT, @pct OUTPUTSELECT @Did, @WO, @W, @pct
Also, in the procedure1. I suspect @department_id should be an int not a float.2. you can use CASE to only select from employee once:SELECT @without_rota = SUM(CASE WHEN emp_dt_termination IS NOT NULL THEN 1 ELSE 0 END) ,@with_rota = SUM(CASE WHEN emp_dt_termination IS NULL THEN 1 ELSE 0 END)FROM dbo.employeeWHERE emp_department_id = @department_id