【发布时间】:2014-12-18 19:44:04
【问题描述】:
我正在尝试创建一个查询,该查询返回在 2 个嵌套对象上过滤的数据。我在代码中添加了 (1) 和 (2) 以表明我想要来自两个不同嵌套对象的结果(我知道这不是一个有效的查询)。我一直在查看 WITHIN RECORD,但我无法理解它。
SELECT externalIds.value(1) AS appName, externalIds.value(2) AS driverRef, SUM(quantity)/ 60 FROM [billing.tempBilling]
WHERE callTo = 'example' AND externalIds.type(1) = 'driverRef' AND externalIds.type(2) = 'applicationName'
GROUP BY appName, driverRef ORDER BY appName, driverRef;
加载到 BigQuery 中的数据如下所示:
{
"callTo": "example",
"quantity": 120,
"externalIds": [
{"type": "applicationName", "value": "Example App"},
{"type": "driverRef", "value": 234}
]
}
我想要的结果是这样的:
+-------------+-----------+----------+
| appName | driverRef | quantity |
+-------------+-----------+----------+
| Example App | 123 | 12.3 |
| Example App | 234 | 132.7 |
| Test App | 142 | 14.1 |
| Test App | 234 | 17.4 |
| Test App | 347 | 327.5 |
+-------------+-----------+----------+
【问题讨论】:
标签: arrays nested google-bigquery