Entonces, lo que veo aquí es un poco contradictorio porque las entradas no son realmente un atributo directo de los juegos, excepto indirectamente. Pero tal vez solo soy yo. Yo personalmente sugeriría algo más como una tabla RunsScored, y hacer que se vincule a una tabla GamesHeader, de algún tipo, así que considere:
CREATE TABLE GamesHeader (
GameID INT IDENTITY(1,1),
HomeTeamID INT, --FK to teams table, naturally
AwayTeamID INT, --FK to teams table, naturally
FinalInningsCount BYTE, -- for faster reporting after the game is over
FinalHomeScore BYTE, -- for faster reporting after the game is over
FinalAwayScore BYTE, -- for faster reporting after the game is over
--Other attribs
)
CREATE TABLE RunsScored (
RunsScoredID BIGINT IDENTITY(1,1), -- for faster reverse traversal, possibly. May not be needed, this depends on your setup, as the normalization will show a composite key anyways
PlayerID INT, --FK to players table naturally
GameID INT, --FK to GamesHeader table naturally
Inning BYTE, --wait for the payoff
RunsEarned, --because you may want to track this by the player ... really the problem is that there's not a single naturalized setup for this, so you may be intersecting this table to another stats table elsewhere. idk, it depends on your model. I'm going for fairly simplistic atm. Wanted to demonstrate something else entirely, but this needs to be accounted for.
-- other attribs
)
SELECT MAX(r.Inning) FROM RunsScored r JOIN GamesHeader g ON g.GameID = r.GameID WHERE GameID = 'x'
Eso le dará el máximo de entrada jugado para un juego en particular, y puede refinar aún más por PlayerID -> TeamID para descubrir más detalles si lo desea. Cuáles podrían ser, no estoy seguro.
Probablemente refine esa segunda tabla para que no sea RunsScored sino algo sobre AtBat porque eso es realmente lo que estás rastreando. Solo quería mostrar cómo puedes desnormalizar la entrada fuera de la mesa de juego. Ajustaría mi modelo para que fluya así, si este fuera mi proyecto. HTH YMMV.
También tenga en cuenta que soy un chico TSQL, pero creo que los conceptos expresados a continuación funcionan bastante bien para explicar mi concepto. La semántica del lenguaje probablemente no se alineará.