52 lines
1.2 KiB
PL/PgSQL
52 lines
1.2 KiB
PL/PgSQL
pragma foreign_keys = 0;
|
|
|
|
begin;
|
|
attach database 'lahman-raw.db' as 'raw';
|
|
|
|
create temp table battingpost as
|
|
select * from "raw".battingpost;
|
|
|
|
alter table battingpost drop column "lgID";
|
|
alter table battingpost drop column "teamID";
|
|
|
|
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,'');
|
|
|
|
CREATE TABLE IF NOT EXISTS main."battingpost" (
|
|
"year" NUMERIC,
|
|
"round" NUMERIC,
|
|
"player" TEXT,
|
|
"G" NUMERIC,
|
|
"AB" NUMERIC,
|
|
"R" NUMERIC,
|
|
"H" NUMERIC check (H <= AB),
|
|
"2B" NUMERIC check ("2B" <= H),
|
|
"3B" NUMERIC check ("3B" <= H),
|
|
"HR" NUMERIC check ("HR" <= H),
|
|
"RBI" NUMERIC,
|
|
"SB" NUMERIC,
|
|
"CS" NUMERIC,
|
|
"BB" NUMERIC,
|
|
"SO" NUMERIC check (SO <= AB),
|
|
"IBB" NUMERIC check (IBB <= BB),
|
|
"HBP" NUMERIC,
|
|
"SH" NUMERIC,
|
|
"SF" NUMERIC,
|
|
"GIDP" NUMERIC check (GIDP <= AB),
|
|
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";
|
|
commit;
|