1. What is gn?
2. I'm not sure why you need unions here. And I suspect your tables aren't properly normalized. Can you post a screenshot of your relationship window? Or post your db?
3. Looking at your sql is the playtype='run' necessary in the outer select statements?
Code:
SELECT Dn,
Dg,
count(gn) AS Run,
(SELECT count(gn)
FROM DataT
WHERE offense = "Marian"
AND PlayType = "Pass"
GROUP BY dn,
dg
HAVING dn = 3
AND dg = "L") AS Pass,
Format(( run / ( run + pass ) ), "Percent") AS [Run%]
FROM DataT
WHERE offense = "Marian"
AND PlayType = "Run"
GROUP BY dn,
dg
HAVING dn = 3
AND dg = "L"
UNION ALL
SELECT Dn,
Dg,
count(gn) AS Run,
(SELECT count(gn)
FROM DataT
WHERE offense = "Marian"
AND PlayType = "Pass"
GROUP BY dn,
dg
HAVING dn = 3
AND dg = "M") AS Pass,
Format(( run / ( run + pass ) ), "Percent") AS [Run%]
FROM DataT
WHERE offense = "Marian"
AND PlayType = "Run"
GROUP BY dn,
dg
HAVING dn = 3
AND dg = "M"
https://www.dpriver.com/pp/sqlformat.htm