SELECT M.playerID, M.nameFirst, M.nameLast , COUNT(*) as stints, SUM(B.G) as games , SUM(B.HR) as hrs, SUM(B.H)/SUM(B.AB) AS avg, SUM(B.H) AS hits, SUM(B.AB) AS abs , SUM(P.W), SUM(P.L), SUM(P.W)/SUM(P.L) AS Wpct , (SUM(P.ER)/SUM(P.IPouts))*9/3 AS era , SUM(P.SO)/SUM(P.BB) as SO_BB, SUM(P.HR)/(SUM(P.IPouts)/3) as HR_IP FROM ( SELECT nameFirst, COUNT(nameFirst) AS occ FROM vizsagedb_baseballdatabank.`Master` M GROUP BY nameFirst HAVING occ = 1) F JOIN vizsagedb_baseballdatabank.Master M ON (M.nameFirst = F.nameFirst) LEFT JOIN vizsagedb_baseballdatabank.Batting B ON (B.playerID = M.playerID) LEFT JOIN vizsagedb_baseballdatabank.Pitching P ON (M.playerID = P.playerID) AND (B.yearID = P.yearID) GROUP BY M.playerID ORDER BY M.nameFirst ASC