From 3a38d5e31f4ccf4362b9e0f4efb88a161f61b155 Mon Sep 17 00:00:00 2001 From: Nick Griffey Date: Thu, 25 Jan 2024 22:53:39 -0600 Subject: [PATCH] Insert aliases into table --- sql/1nf/parkaliases.sql | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/sql/1nf/parkaliases.sql b/sql/1nf/parkaliases.sql index 344a7f4..01eeac9 100644 --- a/sql/1nf/parkaliases.sql +++ b/sql/1nf/parkaliases.sql @@ -2,6 +2,21 @@ begin; create table if not exists "parkaliases" ( "parkID" text, "alias" text, - primary key("parkID","alias") + primary key("parkID","alias"), + foreign key("parkID") references "parks"("park.key") ); + +-- split aliases by semicolon +with recursive aliases(parkid, alias) as ( + select "park.key", "park.alias" from 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 != ''; commit;