Разделить строку на несколько столбцов с помощью bigquery
У меня есть таблица в BigQuery с миллионами строк, и я хочу разделить столбец adx_catg_id на несколько новых столбцов. Обратите внимание, что столбец adx_catg_id содержит произвольное количество слов, разделенных пробелом.
Этот пример запроса ниже может разделить adx_catg_id на несколько столбцов, если строка содержит менее пяти слов. Я могу расширить его для поддержки большего количества слов, но мне нужно его автоматизировать.
SELECT
TS, str0, str2, str4, str6, str7
from
(select REGEXP_EXTRACT(str5, r'^(.*) .*') as str7
from
(select SUBSTR (str5, LENGTH(REGEXP_EXTRACT(str5, r'^(.*) .*')) + 2, LENGTH(str5)) as str6
from
(select REGEXP_EXTRACT(str3, r'^(.*) .*') as str5
from
(select SUBSTR (str3, LENGTH(REGEXP_EXTRACT(str3, r'^(.*) .*')) + 2, LENGTH(str3)) as str4
from
(select REGEXP_EXTRACT(str1, r'^(.*) .*') as str3
from
(select SUBSTR (str1, LENGTH(REGEXP_EXTRACT(str1, r'^(.*) .*')) + 2, LENGTH(str1)) as str2
from
(select REGEXP_EXTRACT(TS, r'^(.*) .*') as str1
from
(select SUBSTR(TS, LENGTH(REGEXP_EXTRACT(TS, r'^(.*) .*')) + 2,LENGTH(TS)) as str0
from
(select adx_catg_id TS from [mydataset.conversions])
))))))))
Как я могу выполнить цикл вышеупомянутого запроса, чтобы сгенерировать все слова в новых столбцах в зависимости от длины строки?