lahmanlite/sql/batting.sql

75 lines
2.0 KiB
MySQL
Raw Normal View History

2024-05-05 03:46:30 +00:00
/*
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;
2024-01-26 20:03:29 +00:00
begin;
2024-05-05 03:11:20 +00:00
attach database 'lahman-raw.db' as 'raw';
2024-01-31 06:09:39 +00:00
create temp table batting as
select * from "raw".batting;
2024-01-26 20:03:29 +00:00
alter table batting drop column "lgID";
2024-01-30 03:43:52 +00:00
alter table batting drop column "teamID";
2024-01-31 06:09:39 +00:00
2024-02-01 04:37:26 +00:00
-- bbref doesn't say this guy played in 1911
delete from batting
where playerid = 'smithbu01' and yearid = 1911;
2024-02-04 20:59:16 +00:00
update batting
set
2024-05-05 04:17:38 +00:00
G_batting = nullif(G_batting,''),
2024-02-04 20:59:16 +00:00
RBI = nullif(RBI,''),
SB = nullif(SB,''),
CS = nullif(CS,''),
SO = nullif(SO,''),
IBB = nullif(IBB,''),
HBP = nullif(HBP,''),
SH = nullif(SH,''),
SF = nullif(SF,''),
2024-05-05 04:17:38 +00:00
GIDP = nullif(GIDP,''),
G_old = nullif(G_old,'');
2024-02-04 20:59:16 +00:00
2024-01-31 06:09:39 +00:00
CREATE TABLE IF NOT EXISTS main."batting" (
"player" TEXT,
"year" NUMERIC,
"stint" NUMERIC,
"G" NUMERIC,
"G_batting" NUMERIC,
2024-01-31 06:09:39 +00:00
"AB" NUMERIC,
"R" NUMERIC,
2024-02-04 20:59:16 +00:00
"H" NUMERIC check (H <= AB),
"2B" NUMERIC check ("2B" <= H),
"3B" NUMERIC check ("3B" <= H),
"HR" NUMERIC check ("HR" <= H),
2024-01-31 06:09:39 +00:00
"RBI" NUMERIC,
"SB" NUMERIC,
"CS" NUMERIC,
"BB" NUMERIC,
2024-02-04 20:59:16 +00:00
"SO" NUMERIC check (SO <= AB),
"IBB" NUMERIC check (IBB <= BB),
2024-01-31 06:09:39 +00:00
"HBP" NUMERIC,
"SH" NUMERIC,
"SF" NUMERIC,
2024-02-04 20:59:16 +00:00
"GIDP" NUMERIC check (GIDP <= AB),
2024-05-05 01:59:32 +00:00
"G_old" NUMERIC check (GIDP <= AB),
2024-01-31 06:09:39 +00:00
PRIMARY KEY("player","year","stint"),
foreign key("year","player","stint") references "playerstints"("year","player","stint")
);
insert into main.batting select distinct * from temp."batting";
2024-01-26 20:03:29 +00:00
commit;