lahmanlite/sql/fielding.sql

50 lines
1.2 KiB
MySQL
Raw Normal View History

pragma foreign_keys = 0;
2024-02-02 03:45:26 +00:00
-- check constraints are disabled for this file because the checks seem
-- reasonable, but there's a surprising number of records that fail them. Not
-- sure if it's a data problem or a misunderstanding on my part (or both).
pragma ignore_check_constraints = 1;
2024-01-26 20:03:29 +00:00
begin;
2024-01-31 06:09:39 +00:00
attach database 'baseball-raw.db' as 'raw';
create temp table fielding as
select * from "raw".fielding;
2024-01-26 20:03:29 +00:00
alter table fielding drop column "lgID";
2024-01-30 03:43:52 +00:00
alter table fielding drop column "teamID";
2024-01-31 06:09:39 +00:00
2024-02-04 22:20:07 +00:00
update fielding
set
gs = nullif(gs,''),
innouts = nullif(innouts,''),
pb = nullif(pb,''),
wp = nullif(wp,''),
sb = nullif(sb,''),
cs = nullif(cs,''),
zr = nullif(zr,'');
2024-01-31 06:09:39 +00:00
CREATE TABLE IF NOT EXISTS main."fielding" (
"player" TEXT,
"year" NUMERIC,
"stint" NUMERIC,
"POS" TEXT,
"G" NUMERIC,
2024-02-02 03:45:26 +00:00
"GS" NUMERIC check (GS <= G),
2024-01-31 06:09:39 +00:00
"InnOuts" NUMERIC,
2024-02-02 03:45:26 +00:00
"PO" NUMERIC check (PO <= InnOuts),
2024-01-31 06:09:39 +00:00
"A" NUMERIC,
"E" NUMERIC,
"DP" NUMERIC,
"PB" NUMERIC,
"WP" NUMERIC,
"SB" NUMERIC,
"CS" NUMERIC,
"ZR" NUMERIC,
PRIMARY KEY("player","year","stint","POS"),
foreign key("year","player","stint") references "playerstints"("year","player","stint")
);
insert into main.fielding select distinct * from temp."fielding";
2024-01-26 20:03:29 +00:00
commit;