lahmanlite/sql/battingpost.sql

52 lines
1.2 KiB
MySQL
Raw Normal View History

pragma foreign_keys = 0;
2024-01-28 06:09:06 +00:00
begin;
2024-01-31 06:09:39 +00:00
attach database 'baseball-raw.db' as 'raw';
create temp table battingpost as
select * from "raw".battingpost;
2024-01-28 06:09:06 +00:00
alter table battingpost drop column "lgID";
alter table battingpost drop column "teamID";
2024-01-31 06:09:39 +00:00
2024-02-04 20:59:16 +00:00
update battingpost
set
RBI = nullif(RBI,''),
SB = nullif(SB,''),
CS = nullif(CS,''),
SO = nullif(SO,''),
IBB = nullif(IBB,''),
HBP = nullif(HBP,''),
SH = nullif(SH,''),
SF = nullif(SF,''),
GIDP = nullif(GIDP,'');
2024-01-31 06:09:39 +00:00
CREATE TABLE IF NOT EXISTS main."battingpost" (
"year" NUMERIC,
"round" NUMERIC,
"player" TEXT,
"G" NUMERIC,
"AB" NUMERIC,
"R" NUMERIC,
2024-02-04 20:59:16 +00:00
"H" NUMERIC check (H <= AB),
"2B" NUMERIC check ("2B" <= H),
"3B" NUMERIC check ("3B" <= H),
"HR" NUMERIC check ("HR" <= H),
2024-01-31 06:09:39 +00:00
"RBI" NUMERIC,
"SB" NUMERIC,
"CS" NUMERIC,
"BB" NUMERIC,
2024-02-04 20:59:16 +00:00
"SO" NUMERIC check (SO <= AB),
"IBB" NUMERIC check (IBB <= BB),
2024-01-31 06:09:39 +00:00
"HBP" NUMERIC,
"SH" NUMERIC,
"SF" NUMERIC,
2024-02-04 20:59:16 +00:00
"GIDP" NUMERIC check (GIDP <= AB),
2024-01-31 06:09:39 +00:00
PRIMARY KEY("year","player","round"),
foreign key("player","year") references "appearancespost"("player","year"),
foreign key("year","round") references "seriespost"("year","round")
);
insert into main.battingpost select distinct * from temp."battingpost";
2024-01-28 06:09:06 +00:00
commit;