We've longed discussed the idea of an APPEARANCES table, so that it
captures exactly what it's supposed to capture, rather than taking over
the BATTING table just because the official rules say to use it. (DBAs
follow the data, not the legal definitions of names.)
The APPEARANCES table would give us the total number of games played,
games started, games finished, and potentially further broken down by
fielding position and lineup position. So, you could have:
playerID, appearCode, appearSubcode, GS, GP, GF
raineti01, 0, 0, 141, 147, 142
raineti01, fld, 7, 141, 141, 140
raineti01, fld, 8, 0, 8, 2
raineti01, bat, 1, 140, 140, 139
raineti01, bat, 3, 1, 1, 1
raineti01, bat, 7, 0, 6, 2
Something like that. So, for your purposes, you would select on
appearCode = 0.
Or, if that's too complicated, we'd have an APPEARANCES table like this:
playerID, GS, GP, GF
raineti01, 141, 147, 142
And an APPEARANCES_SPLIT table like this:
playerID, appearCode, appearSubcode, GS, GP, GF
raineti01, fld, 7, 141, 141, 140
raineti01, fld, 8, 0, 8, 2
raineti01, bat, 1, 140, 140, 139
raineti01, bat, 3, 1, 1, 1
raineti01, bat, 7, 0, 6, 2
Regardless, I do not have an answer for your original question.
Tom