google-bigquery - 在 BigQuery 中加入数组字段
问题描述
我们有表 Table1 和 Table2 表格1 身份证名称主体 1 xxx物理 数学 化学 2年物理 数学 化学 表 2 身份标记 1 70 67 88 2 90 99 89 我们需要像这样的格式加入上面两个表,条件Table1.Id=Table2.Id, Id name 主题 Marks 1 xxx物理70 数学 67 化学 88 2 yyy 物理 90 数学 99 化学 89
解决方案
#standardSQL
WITH `project.dataset.table1` AS (
SELECT 1 id, 'xxx' name, ['physics', 'maths', 'chemistry'] subject UNION ALL
SELECT 2, 'yyy', ['physics', 'maths', 'chemistry']
), `project.dataset.table2` AS (
SELECT 1 id, [70, 67, 88] marks UNION ALL
SELECT 2, [90, 99, 89]
)
SELECT *
FROM `project.dataset.table1` t1
JOIN `project.dataset.table2` t2
USING(id)
结果
Row id name subject marks
1 1 xxx physics 70
maths 67
chemistry 88
2 2 yyy physics 90
maths 99
chemistry 89
推荐阅读
- javascript - 尝试进行有效的法力恢复升级
- ansible - 在ansible中,为什么在运行脚本时会出现这些错误?我可以用来测试的简单的ansible脚本是什么?
- php - 使用 ajax 从 php 函数获取 file_get_contents
- sql - 从存储在文本字段中的键/值对中提取值
- powershell - 将交换机的接口添加到数组中的 Powershell 脚本
- python - 想要在 Python 中发送带有文件内容的邮件,因为它就像在文本文件和文件内容到变量中一样
- c# - 按时使视图模型无效的正确方法
- vue.js - 尝试导入 sass 模块时,如何在 Vue CLI 中使用包含路径?
- javascript - 带有下拉菜单的响应式 CSS Topnav 在小屏幕上不起作用
- python - 在急切执行期间不支持会话关键字参数。你通过了:{'learning_rate': 1e-05}