lahmanlite/sql/fieldingofsplit.sql

61 lines
1.6 KiB
PL/PgSQL

/*
Copyright (C) 2024 filifa
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>.
*/
pragma foreign_keys = 0;
begin;
attach database 'lahman-raw.db' as 'raw';
create temp table fieldingofsplit as
select * from fieldingofsplit;
alter table fieldingofsplit drop column "lgID";
alter table fieldingofsplit drop column "teamID";
update fieldingofsplit
set
gs = nullif(gs,''),
innouts = nullif(innouts,''),
pb = nullif(pb,''),
wp = nullif(wp,''),
sb = nullif(sb,''),
cs = nullif(cs,''),
zr = nullif(zr,'');
CREATE TABLE IF NOT EXISTS main."fieldingofsplit" (
"player" TEXT,
"year" NUMERIC,
"stint" NUMERIC,
"POS" TEXT,
"G" NUMERIC,
"GS" NUMERIC,
"InnOuts" NUMERIC,
"PO" NUMERIC check (PO <= InnOuts),
"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.fieldingofsplit select distinct * from temp."fieldingofsplit";
commit;