Hi,
I have modified query as per your need.
SELECT COUNT(companyDetails.CompanyName) AS Held
,CompanyName
,Auth
INTO #Results
FROM PersonDetails personDetails
INNER JOIN Table_CompanyDetails companyDetails
ON personDetails.Company = companyDetails.CompanyName
GROUP BY companyDetails.CompanyName,CompanyName,Auth
UPDATE Authpers
SET Held = (SELECT Held
FROM #Results result
WHERE result.CompanyName = Authpers.Company)
SELECT CompanyName
,Auth
,Held
FROM #Results
DROP TABLE #Results
Here #Results is a temporary table to store values.
After performing the task it must be deleted from schema.
So use above query your problem will be solved.