Я пытаюсь сделать стол из другого стола. В исходной таблице есть строка, которая выглядит следующим образом:
------------------------
| col1 | col 2 | col 3 |
------------------------
| item | a,b,c | 1,2,3 |
------------------------
Я пытаюсь взять эту строку и поместить ее в таблицу следующим образом:
------------------------
| col1 | col 2 | col 3 |
------------------------
| item | a | 1 |
------------------------
| item | b | 2 |
------------------------
| item | c | 3 |
------------------------
Итак, в основном я пытаюсь UNNEST две строки, разделенные запятыми, одновременно. До сих пор лучшее, что я придумал, - это UNNEST для каждого столбца по отдельности, а затем попытаться объединить две полученные таблицы (с которыми я тоже борюсь), но в идеале я надеялся сделать это за один шаг.
Вот мой запрос к UNNEST по одной строке за раз:
SELECT
col1, col2, col3
FROM
tableName,
UNNEST(SPLIT(col2)) AS col2
Вот моя попытка выполнить UNNEST как подзапрос, но она дает массу результатов:
SELECT sub.*
FROM (
SELECT
col1, col2, col3 AS col3
FROM
tableName,
UNNEST(SPLIT(col2)) AS col2
WHERE
randomCol = 'something'
) sub,
UNNEST(SPLIT(sub.col3)) AS col3