Skip to content
This repository was archived by the owner on Jun 17, 2026. It is now read-only.

Advanced Usage

Trey Brittain edited this page Oct 10, 2023 · 3 revisions

Advanced Usage

If the supported screens do not provide enough functionality for you and you are familiar with SQL, you can connect to the database directly and run queries against it.

By default, the database is stored in the following location:

%localappdata%/SmbExplorerCompanion/SmbExplorerCompanion.db

And the database has the following schema:

For instance, if you want to select a list of batters who have had 30-30 seasons, you could run the following query:

SELECT p.Id,
       P.FirstName || ' ' || P.LastName AS PlayerName,
       S.Number                         AS SeasonNumber,
       PSBS.HomeRuns,
       PSBS.StolenBases,
       psgs.Power,
       psgs.Contact,
       psgs.Speed
FROM PlayerSeasonBattingStats PSBS
         JOIN main.PlayerSeasons PS ON PS.Id = PSBS.PlayerSeasonId
         JOIN main.Players P ON PS.PlayerId = P.Id
         JOIN Seasons S ON PS.SeasonId = S.Id
         JOIN main.PlayerSeasonGameStats PSGS ON PS.Id = PSGS.PlayerSeasonId
WHERE PSBS.IsRegularSeason = 1
  AND PSBS.HomeRuns > 30
  AND PSBS.StolenBases > 30
ORDER BY PSBS.HomeRuns DESC,
         PSBS.StolenBases DESC;

Or (another fun one), if you want to select a list of the top position players who have pitched at least 1/3 of an inning, you could run the following query:

SELECT p.Id,
       P.FirstName || ' ' || P.LastName AS PlayerName,
       SUM(PSPS.InningsPitched)         AS InningsPitched,
       SUM(PSPS.Wins)                   AS Wins,
       SUM(PSPS.Losses)                 AS Losses,
       AVG(PSPS.EarnedRunAverage)       AS EarnedRunAverage
FROM PlayerSeasonPitchingStats PSPS
         JOIN main.PlayerSeasons PS ON PS.Id = PSPS.PlayerSeasonId
         JOIN main.Players P ON P.Id = PS.PlayerId
         JOIN main.Seasons S ON PS.SeasonId = S.Id
WHERE P.PitcherRoleId IS NULL
GROUP BY p.Id, PlayerName
ORDER BY InningsPitched DESC;

Clone this wiki locally