小编Dan*_*rez的帖子

将 UNNEST 与 with_query_name(WITH 子句)表中的列一起使用

我收到以下错误

(100032) 执行查询作业时出错。消息:无法识别的名称:嵌套

nested我的临时表在哪里声明为 WITH 子句。尝试的代码如下:

WITH nested AS
(
  SELECT e.my_id , SPLIT(secondary_ids, '<#>') AS arr_secondary_ids
  FROM table_with_delimited_string_column e
  WHERE my_id = 1234
)
SELECT DISTINCT a
FROM  UNNEST(nested.arr_secondary_ids) a
Run Code Online (Sandbox Code Playgroud)

SPLIT 函数将返回一个 ARRAY 类型,该类型稍后将被取消嵌套。

从 Google Cloud 文档中,这是有效的:

SELECT *
FROM UNNEST(ARRAY<STRUCT<x INT64, y STRING>>[(1, 'foo'), (3, 'bar')]);
Run Code Online (Sandbox Code Playgroud)

这也有效:

WITH sequences AS
  (SELECT 1 AS id, [0, 1, 1, 2, 3, 5] AS some_numbers
   UNION ALL SELECT 2 AS id, [2, 4, 8, 16, 32] AS some_numbers
   UNION …
Run Code Online (Sandbox Code Playgroud)

google-bigquery

1
推荐指数
1
解决办法
2458
查看次数

标签 统计

google-bigquery ×1