如何删除 Big Query 中嵌套列内的列
How to delete a column inside a nested column in Big Query
我尝试执行此查询:
create or replace table `project.dataset.new_table` as
select * replace(
array(select as struct * except(address2) from t.addresses)
as addresses)
from `project.dataset.table` t
基于这个问题:
但是我得到这个错误:
“FROM 子句中引用的值必须是数组。t.addresses 的类型为 STRUCT<...“
我的嵌套列的架构是 table 是:
[
{
"fields": [
{
"name": "IsHappy",
"type": "BOOLEAN"
},
{
"fields": [
{
"name": "Description",
"type": "STRING"
}
],
"mode": "REPEATED",
"name": "FuncTypes",
"type": "RECORD"
},
{
"name": "address2", --->hoping to delete this
"type": "INTEGER"
},
],
"name": "addresses",
"type": "RECORD"
}
]
请问我应该更改什么或错误是什么意思?
下面使用
create or replace table your_new_table as
select * replace(
(select as struct addresses.* except(address2))
as addresses
)
from your_table;
我尝试执行此查询:
create or replace table `project.dataset.new_table` as
select * replace(
array(select as struct * except(address2) from t.addresses)
as addresses)
from `project.dataset.table` t
基于这个问题:
但是我得到这个错误: “FROM 子句中引用的值必须是数组。t.addresses 的类型为 STRUCT<...“
我的嵌套列的架构是 table 是:
[
{
"fields": [
{
"name": "IsHappy",
"type": "BOOLEAN"
},
{
"fields": [
{
"name": "Description",
"type": "STRING"
}
],
"mode": "REPEATED",
"name": "FuncTypes",
"type": "RECORD"
},
{
"name": "address2", --->hoping to delete this
"type": "INTEGER"
},
],
"name": "addresses",
"type": "RECORD"
}
]
请问我应该更改什么或错误是什么意思?
下面使用
create or replace table your_new_table as
select * replace(
(select as struct addresses.* except(address2))
as addresses
)
from your_table;