begin; attach database 'baseball-raw.db' as 'raw'; create table if not exists "parkaliases" ( "parkID" text, "alias" text ); -- split aliases by semicolon with recursive aliases(parkid, alias) as ( select "park.key", "park.alias" from "raw"."parks" union select parkid, trim(substr(alias, instr(alias, ";") + 1)) as a from aliases where a != '' ) insert into parkaliases select parkid, case instr(alias, ";") when 0 then alias else trim(substr(alias, 1, instr(alias, ";") - 1)) end as a from aliases where a != ''; alter table parks drop column "park.alias"; -- insert some missing parks insert into parks values ('ARL03', 'Globe Life Field', 'Arlington', 'TX', 'US'), ('BUF05', 'Sahlen Field', 'Buffalo', 'NY', 'US'), ('DUN01', 'TD Ballpark', 'Dunedin', 'FL', 'US'), ('DYE01', 'Field of Dreams', 'Dyersville', 'IA', 'US'); commit;