假設我得到一個帶有一個字段的臨時表是一個數組,如何將它變成多行?如何用UNNEST或任何其他函數平鋪數組?
在PostgreSQL這可以用UNNEST http://sqlfiddle.com/#!15/21673/19
WITH x AS (SELECT ARRAY[1,3,2] AS arr)
SELECT UNNEST(arr) FROM x
運行BigQuery中相同的查詢說語法錯誤進行:[:8 3]
似乎BigQuery中的意外 關鍵字UNNEST UNNEST只能放在FROM子句之後,
然後我試過這些:
WITH x AS (SELECT ARRAY[1,3,2] AS arr)
SELECT * FROM UNNEST(x)
這一說UNNEST不能應用在一張桌子上:x在[3:22];或該
WITH x AS (SELECT ARRAY[1,3,2] AS row)
SELECT * FROM UNNEST(x.arr)
說UNNEST不能在桌子上施加:在[3:22]
順便說一句,電流臨時表x.arr X看起來像這樣:
WITH x AS (SELECT ARRAY[1,2] AS row)
SELECT * FROM x
EOF
+--------------+
| row |
+--------------+
| [u'1', u'2'] |
+--------------+
而我期待將它變成有價值的行:
+-----+
| row |
+-----+
| 1 |
| 2 |
+-----+
https://cloud.google.com/bigquery/sql-reference/arrays
人n回答爲什麼不支持Postgres風格標準'SELECT UNNEST(ARRAY [1,3,2])' –