From d4729206daaab8dcb8df77927237c4c8e7755430 Mon Sep 17 00:00:00 2001 From: Nick Griffey Date: Sat, 27 Jan 2024 11:32:11 -0600 Subject: [PATCH] handle 1945 all-star game not being played --- sql/2nf/allstargames.sql | 9 ++++----- sql/corrections/allstarfull.sql | 5 +++++ sql/keys/allstarfull.sql | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sql/2nf/allstargames.sql b/sql/2nf/allstargames.sql index 51fa1e8..cad87ee 100644 --- a/sql/2nf/allstargames.sql +++ b/sql/2nf/allstargames.sql @@ -1,15 +1,14 @@ begin; create table if not exists allstargames ( - "gameID" text, "yearID" numeric, "gameNum" numeric, - primary key("gameID") + "gameID" text, + primary key("yearID","gameNum") ); insert into allstargames -select distinct gameid, yearid, gamenum +select distinct yearid, gamenum, gameid from allstarfull; -alter table allstarfull drop column "yearID"; -alter table allstarfull drop column "gameNum"; +alter table allstarfull drop column "gameID"; commit; diff --git a/sql/corrections/allstarfull.sql b/sql/corrections/allstarfull.sql index 9ad9520..0585ca6 100644 --- a/sql/corrections/allstarfull.sql +++ b/sql/corrections/allstarfull.sql @@ -11,4 +11,9 @@ where gameid = 'NLS196207300'; -- david freese has two all-star entries for 2012, one in AL delete from allstarfull where playerid = 'freesda01' and yearid = 2012 and lgid = 'AL'; + +-- 1945 all-star game wasn't played so some rows have no game id +update allstarfull +set gameid = null +where gameid = ''; commit; diff --git a/sql/keys/allstarfull.sql b/sql/keys/allstarfull.sql index eeb3ef1..2fde35a 100644 --- a/sql/keys/allstarfull.sql +++ b/sql/keys/allstarfull.sql @@ -8,7 +8,7 @@ CREATE TABLE "pk_allstarfull" ( "lgID" NUMERIC, "GP" NUMERIC, "startingPos" NUMERIC, - primary key("playerID","gameID","startingPos"), + primary key("playerID","yearID","gameNum","startingPos"), foreign key("playerID") references "people"("playerID") );