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"; commit;