错误标量子查询在 bigquery 中查询 json 文件
Posted
技术标签:
【中文标题】错误标量子查询在 bigquery 中查询 json 文件【英文标题】:Error scalar subquery querying json file in bigquery 【发布时间】:2019-09-16 00:28:09 【问题描述】:我是 bigquery 的初学者!我在 bigquery 中有这个 json 文件:
我想取消所有列的嵌套,我正在尝试以下查询:
SELECT *,
(SELECT AS STRUCT * FROM UNNEST(list))
FROM `project.dataset.table`
但是,我收到了这个错误:
标量子查询产生了多个元素
我已经阅读了所有其他具有上述相同错误的帖子,但没有一个对我有帮助
【问题讨论】:
【参考方案1】:#standardSQL
SELECT city.*,
sys.pod, clouds.all, list.dx_txt, weather.description, weather.icon, weather.main
FROM `project.dataset.table`,
UNNEST(list.weather) weather, UNNEST(list.sys) sys, UNNEST(list.clouds) clouds
【讨论】:
您的查询无效。我收到此错误:“UNNEST 中引用的值必须是数组。UNNEST 包含 STRUCT看起来List
是STRUCT
的ARRAY
,而city
只是STRUCT
。请确保您努力解释表格列的详细信息/类型以及您对 SO 提出问题的理由。
试试这个:
SELECT
city.id as city_id,
city.sunset as sunset,
city.country as country,
city.timezone as timezone,
city.name as name,
city.coord.lon as lon,
city.coord.lat as lat,
city.sunrise as sunrise,
weather.description,
weather.icon,
weather.main,
list.dt_txt,
list.clouds.all,
list.sys.pod
FROM `project.dataset.table`, UNNEST(list) as list, UNNEST(list.weather) as weather
希望对你有帮助。
【讨论】:
“您对 SO 的问题的基本原理”是什么意思?在您的代码稍作调整后,我在字段 list.dx_txt 中收到此错误:“字段名称 dx_txt 不存在于 STRUCTdt_txt
,我现在已经在我的答案中更改了它。当我说你需要更明确和详细地说明你想问的问题时,你真的必须处理你的问题并解释你的列类型、它们的名称、你的嵌套结构等,而不是简单地发布一半- 可见的屏幕截图,让人们猜测它。以上是关于错误标量子查询在 bigquery 中查询 json 文件的主要内容,如果未能解决你的问题,请参考以下文章