lahmanlite/sql/halloffame.sql

38 lines
929 B
PL/PgSQL

pragma foreign_keys = 0;
begin;
attach database 'baseball-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",'');
CREATE TABLE IF NOT EXISTS main."halloffame" (
"player" TEXT,
"year" NUMERIC,
"votedBy" TEXT,
"ballots" TEXT,
"needed" TEXT,
"votes" NUMERIC,
-- we could have a check for if inducted is Y or N, but there are too many rows i don't feel like correcting right now
"inducted" TEXT,
"category" TEXT,
"needed_note" text,
PRIMARY KEY("player","year","votedBy")
foreign key("player") references "people"("ID"),
foreign key("year","votedBy") references "halloffamereqs"("year","votedBy")
);
insert into main.halloffame select distinct * from temp.halloffame;
commit;