I'm new to programming, coming from accounting background. I have this query I have written which works but very slow. I am wondering if there is a way I could write it to optimize its speed.
Tables I am fetching from:
Master Table

Incident Table

Results Table

Accreditation Table

Here is the query:
SELECT a.lgName AS lgname
, a.wardName AS wardName
, a.pUnitName AS pUnitName
, SUM(a.pvc_collected) AS pvc
, SUM(a.voter_reg_no) AS purvs
, ( SELECT COUNT(pUnitName)
FROM master
WHERE wardName = a.wardName) AS No_Poll_Unitss
, ( SELECT COUNT(reportedpu)
FROM master
WHERE wardName = a.wardName
AND reportedpu = 1) AS reportedpu
, ( SELECT COUNT(pUnitName)
FROM master
WHERE pUnitName = a.pUnitName) AS No_Poll_Unitss
, ( SELECT COUNT(reportedpu)
FROM master
WHERE pUnitName = a.pUnitName
AND reportedpu = 1) AS reportedpu
, ( SELECT SUM(total)
FROM accreditation
WHERE pu_name IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)) AS acr
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'tvc') AS tvc
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'apc') AS apc
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'ivc') AS ivc
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'pdp') AS pdp
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'lp') AS lp
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'adc') AS adc
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'sdp') AS sdp
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'adp') AS adp
, ( SELECT SUM(cno)
FROM res
WHERE pUnitName IN ( SELECT pUnitName
FROM master
WHERE pUnitName = a.pUnitName)
AND category = 'other') AS oth
FROM master AS a
GROUP BY a.pUnitName, a.userCode
ORDER BY a.userCode ASC;