/* 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 . */ pragma foreign_keys = 0; begin; attach database 'lahman-raw.db' as 'raw'; create temp table if not exists "parkaliases" ( "parkID" text, "alias" text ); -- split aliases by semicolon with recursive aliases(parkid, alias) as ( select "parkkey", "parkalias" 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 != ''; CREATE TABLE IF NOT EXISTS main."parkaliases" ( "park" TEXT, "alias" TEXT, PRIMARY KEY("park","alias"), foreign key("park") references "parks"("ID") ); insert into main."parkaliases" select distinct * from temp."parkaliases"; commit;