Bigquery:STRUCT (*) 语法

伊利亚

如何STRUCT在不按名称指定的情况下自动应用于表中的所有字段?

不起作用的示例:

WITH data as (
 SELECT 'Alex' as name, 14 as age, 'something else 1' other_field
UNION ALL 
 SELECT 'Bert' as name, 14 as age, 'something else 2' other_field
UNION ALL 
 SELECT 'Chiara' as name, 13 as age, 'something else 3' other_field
)

SELECT AS STRUCT(SELECT * except (other_field) from data) as student_data

返回: Error: Scalar subquery cannot have more than one column unless using SELECT AS STRUCT to build STRUCT values at [9:17]

然而,这有效:

WITH data as (
 SELECT 'Alex' as name, 14 as age, 'something else 1' other_field
UNION ALL 
 SELECT 'Bert' as name, 14 as age, 'something else 2' other_field
UNION ALL 
 SELECT 'Chiara' as name, 13 as age, 'something else 3' other_field
)

SELECT STRUCT(name,age) as student_data

from data

问题是,一旦我有 100 列,其中只有 5 列不属于,写出来让我发疯。有没有更简单的方法来使用某些版本的Select * Except()

米哈伊尔·贝里安特

下面是 BigQuery 标准 SQL

#standardSQL
WITH data AS (
  SELECT 'Alex' AS name, 14 AS age, 'something else 1' other_field UNION ALL 
  SELECT 'Bert' AS name, 14 AS age, 'something else 2' other_field UNION ALL 
  SELECT 'Chiara' AS name, 13 AS age, 'something else 3' other_field
)
SELECT (
  SELECT AS STRUCT * EXCEPT(other_field)
  FROM UNNEST([t])
  ) AS student_data
FROM data t   

带输出

Row student_data.name   student_data.age     
1   Alex                14   
2   Bert                14   
3   Chiara              13   

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C struct语法问题

关于struct的golang语法问题

Ruby:在Struct中定义常量的语法

语法:typedef和struct标记说明

在Google Bigquery中创建表SQL语法

BigQuery使用新的SQL语法访问CustomDimensions

使用BigQuery SQL语法匹配记录

BigQuery Group通过STRUCT

疯狂的C ++ 11语法==> struct是什么:bar {} foo {} ;?

BigQuery标准SQL语法:_TABLE_SUFFIX和.yesterday表

BigQuery:语法错误:关键字LEFT异常

在Google Bigquery中运行不同的GROUP_CONCAT的语法

按查询在GROUP上的BigQuery内部错误(语法图)

我应该如何在 BigQuery 上使用 CTE With 子句语法?

BigQuery的ARRAY OF STRUCT中的DISTINCT

BigQuery:使用struct创建表语句

在 hive 和 presto 中创建 named_struct 的通用语法

我想重置一个C ++ struct stat,可以以某种方式使用stat()语法吗?

使用点语法访问 struct prop 时出现 Elixir Dialyzer 错误

在Go中的类型切换语句中检查“ struct”类型会导致语法错误

Rust是否具有用于使用较早的字段初始化struct字段的语法?

通过使用struct构造函数语法,IN可以与多部分键一起使用吗?

C ++旧的struct运算符重载语法更改了吗?

即使在语法&(struct_pointer-> struct_var)中,在scanf中使用结构指针也不起作用

为什么我在 BigQuery 中不断收到此语法错误

如何使用DML语法在BigQuery中插入带有RECORD字段的记录?

如何使用BigQuery查找最常见的二元语法?

google bigquery php api语法有效性检查,然后实际运行查询

语法错误:在执行Bigquery时,应为“)”,但得到了“(” [at 1:79]