Załóżmy, że otrzymałem tabelę tymczasową z jednym polem to tablica, jak zmienić ją w wiele wierszy?Jak spłaszczyć tablicę za pomocą funkcji UNNEST lub innych funkcji?
Z PostgreSQL można to zrobić z UNNEST http://sqlfiddle.com/#!15/21673/19
WITH x AS (SELECT ARRAY[1,3,2] AS arr)
SELECT UNNEST(arr) FROM x
Run to samo zapytanie w BigQuery mówi Błąd składni: Nieoczekiwany UNNEST kluczowe w [3, 8]
wydaje w BigQuery UNNEST można umieścić tylko po klauzula FROM,
Następnie próbowałem te:
WITH x AS (SELECT ARRAY[1,3,2] AS arr)
SELECT * FROM UNNEST(x)
ten mówi: Nie można zastosować UNNEST na stole: x pod adresem [3:22]; czy to
WITH x AS (SELECT ARRAY[1,3,2] AS row)
SELECT * FROM UNNEST(x.arr)
mówi UNNEST nie mogą być stosowane w tabeli: x.arr na [3:22]
BTW, prąd chwilowy tabeli x wygląda następująco:
WITH x AS (SELECT ARRAY[1,2] AS row)
SELECT * FROM x
EOF
+--------------+
| row |
+--------------+
| [u'1', u'2'] |
+--------------+
podczas gdy spodziewam się przekształcić go w wiersze wartości:
+-----+
| row |
+-----+
| 1 |
| 2 |
+-----+
https://cloud.google.com/bigquery/sql-reference/arrays
nikogo z Google CA n odpowiedź dlaczego nie obsługuje standardowego stylu PostgreS? "SELECT UNNEST (ARRAY [1,3,2])" –