{"ok": true, "database": "scotrail", "query_name": null, "rows": [[0, "I am sorry to announce that the", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/0031.mp3"], [1, "ScotRail", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/0032.mp3"], [2, "service from", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/1778.mp3"], [3, "Bath Spa", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/0006.mp3"], [4, "is delayed", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/1750.mp3"], [5, "due to", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/1528.mp3"], [6, "A wartime bomb near the railway", "https://github.com/matteason/scotrail-announcements-june-2022/raw/main/announcements/0946.mp3"]], "truncated": false, "columns": ["key", "Transcription", "mp3"], "query": {"sql": "with phrases as (\r\n  select\r\n    key, value\r\n  from\r\n    json_each('[\"' || replace(:terms, ',', '\",\"') || '\"]')\r\n),\r\nmatches as (select\r\n  phrases.key,\r\n  phrases.value,\r\n  (\r\n    select File from announcements\r\n    where announcements.Transcription like '%' || trim(phrases.value) || '%'\r\n    order by length(announcements.Transcription)\r\n    limit 1\r\n  ) as File\r\nfrom\r\n  phrases\r\n),\r\nresults as (\r\n  select key, announcements.Transcription, announcements.mp3\r\n  from announcements join matches on announcements.File = matches.File\r\n  order by key\r\n)\r\nselect * from results", "params": {"terms": "i am sorry, scotrail, from, bath spa, is delayed, due to, bomb"}}, "error": null, "private": false, "allow_execute_sql": true, "query_ms": 11.7610429999786, "source": "matteason/scotrail-announcements-june-2022", "source_url": "https://github.com/matteason/scotrail-announcements-june-2022"}