lahmanlite/sql/halloffame.sql

58 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;
-- checks are disabled because there's a check for if inducted is Y or N, but there are too many rows i don't feel like correcting right now
pragma ignore_check_constraints = 1;
begin;
attach database 'lahman-raw.db' as 'raw';
create temp table halloffame as
select * from "raw".halloffame;
update halloffame
set ballots = null
where ballots = '' or ballots = 'NA';
update halloffame
set needed = null
where needed = '' or needed = 'NA';
update halloffame
set "needed_note" = nullif("needed_note",'');
update halloffame
set "playerID" = 'kellyjo01'
where "playerID" = 'kellyho99';
CREATE TABLE IF NOT EXISTS main."halloffame" (
"player" TEXT,
"year" NUMERIC,
"votedBy" TEXT,
"ballots" TEXT,
"needed" TEXT,
"votes" NUMERIC,
"inducted" TEXT check ("inducted" in ('Y','N')),
"category" TEXT,
"needed_note" text,
PRIMARY KEY("player","year","votedBy")
foreign key("player") references "people"("ID")
);
insert into main.halloffame select distinct * from temp.halloffame;
commit;