google-bigquery - BigQuery 中跨多个数组列的高级 UNNEST
问题描述
我想根据状态和语言环境数组取消嵌套,但结果表仍然需要有 7 行,而不是 14 行。我想取消嵌套那些“数组对”,而不是一一取消嵌套 2 个数组(这将返回 14 行)。
另外,我不知道数组中的项目数。它可以是 1,但也可以是 20,但“组”中的每个数组确实具有相同数量的项目。
关于如何实现这一目标的任何想法?
(请记住,我有大约 10 列作为数组,但我的示例图像仅显示其中 2 个)
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
SELECT * EXCEPT(status, locale, pos1, pos2), status, locale
FROM `project.dataset.table`,
UNNEST(status) status WITH OFFSET pos1,
UNNEST(locale) locale WITH OFFSET pos2
WHERE pos1 = pos2
推荐阅读
- firebase - 无法进行 Firebase 身份验证登录
- python - 详细页面的网页设计
- instagram - 使用 Facebook 应用程序帐户或任何其他方式发送/阅读 Instagram 直接消息
- c# - 如何将内容从一个用户控件移动到另一个,windows窗体,c#
- android - 无法检索用户位置
- python - 我在使用以下命令安装 pyinstaller 时遇到问题:pip install pyinstaller
- flutter - 不处理流,而是将计数器流值重置为 0 并再次收听
- python - Python docx - 是否可以在 word 文档中间添加文本?
- c - 遍历 char* 并将每个 char 与另一个 char 进行比较
- python - 如何让我的随机颜色方块上升然后以与上升相同的方式下降 - 在pygame中留下黑屏