我想创建下面{
"store_nbr": "1234",
"sls_dt": "2014-01-01 00:00:00",
"Items": [{
"sku": "3456",
"sls_amt": "9.99",
"discounts": [{
"disc_nbr": "1",
"disc_amt": "0.99"
}, {
"disc_nbr": "2",
"disc_amt": "1.00"
}]
}]
}
的表格。
android:src
任何人都可以帮助我在BigQuery上使用这个JSON的结构吗?以及如何使用SQL查询检索数据?
答案 0 :(得分:2)
我想知道我桌子的结构是什么?
在下面尝试BigQuery Standard SQL
#standardSQL
WITH yourTable AS (
SELECT
1234 AS store_nbr,
DATE('2014-01-01 00:00:00') AS sls_dt,
[STRUCT(
3456 AS sku,
9.99 AS sls_amt,
[STRUCT<disc_nbr INT64, disc_amt FLOAT64>
(1, 0.99),
(2, 1.00)
] AS discounts
)] AS items
)
SELECT *
FROM yourTable
这里的表结构是:
或者如果要查看Web UI:
我如何阅读它的价值?
这实际上取决于您想要“读取”这些数据的具体内容和方式!
例如,如果您想计算每次销售的总折扣 - 它可以如下所示
#standardSQL
WITH yourTable AS (
SELECT
1234 AS store_nbr,
DATE('2014-01-01 00:00:00') AS sls_dt,
[STRUCT(
3456 AS sku, 9.99 AS sls_amt, [STRUCT<disc_nbr INT64, disc_amt FLOAT64>(1, 0.99), (2, 1.00)] AS discounts
)] AS items
)
SELECT
t.*,
(SELECT SUM(disc.disc_amt) FROM UNNEST(item.discounts) AS disc) AS total_discount
FROM yourTable AS t, UNNEST(items) AS item
我建议您首先完成创建表格的“练习”并实际获取数据,因此您可以询问有关要构建的查询的具体问题。
但这应该是一个新的帖子,所以你不要把所有的东西混合在一起作为一个一体化的问题,因为这类问题通常不会在SO上受到欢迎