我正在从Google Bigquery表中选择包含JSON列的数据。我的表有多个嵌套数组,其中一个包含两个嵌套级别。 这是我的表架构
我的陈述是:
SELECT
items.*,
pay.*,
credits.creditnoteid,
credits.id,
credits.total
FROM client_account.invoices,
UNNEST(lineitems) items,
UNNEST(items.tracking),
UNNEST(payments) pay,
UNNEST(creditnotes) credits
不幸的是我没有结果... 您能帮我取消所有阵列的嵌套吗?
答案 0 :(得分:1)
好的,我对一个数据集进行了测试。我认为creditnotes
始终是null
。因为就我而言,取消嵌套始终为null的列时没有任何结果。您可以使用LEFT JOIN
我修改了查询以使用左联接来解决此问题,但是您可能可以对其进行更好的调整。
SELECT
items.*,
tracking.*,
pay.*,
credits.creditnoteid,
credits.id,
credits.total
FROM client_account.invoices
LEFT JOIN UNNEST(lineitems) items
LEFT JOIN UNNEST(items.tracking) tracking
LEFT JOIN UNNEST(payments) pay
LEFT JOIN UNNEST(creditnotes) credits