Преобразование ячейки массива в таблице в строки в другой таблице - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть таблица (table1), в которой есть только одна ячейка. Содержимое этой ячейки в формате массива. Мне нужно преобразовать содержимое этой ячейки в отдельные строки в новой таблице (table2)

Пример таблицы 1 выглядит следующим образом: -

! [Element ['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred']] 1

Пример таблицы 2 должен выглядеть вот так: - enter image description here

Я прошел большую документацию по запросам о массивах и использовании оператора UNNEST.

Ниже будут работать логи c : - '' SELECT * FROM UNNEST (['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred']) AS элемент '' '

Однако мне нужно прочитать массив из ячейки в таблице 1 и создать таблицу 2.

Любая помощь по этому вопросу будет очень полезна.

1 Ответ

1 голос
/ 03 февраля 2020

Ниже для BigQuery Standard SQL

#standardSQL
SELECT element
FROM `project.dataset.table`,
UNNEST(element) element 

Вы можете протестировать, поиграть с выше, используя примеры данных из вашего вопроса, как в примере ниже

#standardSQL
WITH `project.dataset.table` AS (
  SELECT ['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred'] element
)
SELECT element
FROM `project.dataset.table`,
UNNEST(element) element 

с выводом

Row element  
1   foo  
2   bar  
3   baz  
4   qux  
5   corge    
6   garply   
7   waldo    
8   fred       

Теперь вы можете использовать выше для создания новой таблицы, как в примере ниже

CREATE TABLE `project.dataset.table2` AS    
SELECT element
FROM `project.dataset.table1`,
UNNEST(element) element 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...