如何在Bigquery中查询多个嵌套字段?
How to query multiple nested fields in Bigquery?
当我查询两级嵌套字段时,我遗漏了一些行。
架构是这样的:
Productid STRING REQUIRED
Variants RECORD REPEATED
Variants.SKU STRING NULLABLE
Variants.Size STRING NULLABLE
Variants.Prices RECORD REPEATED
Variants.Prices.Country STRING NULLABLE
Variants.Prices.Currency STRING NULLABLE
部分 Variants.Prices 条记录为空。
当我使用以下查询查询此 table 时:
select Productid,Variants.SKU,Variants.Size
from ga-export-0000.feed.feed_dev
,UNNEST (Variants) AS Variants
我得到的行比这行多得多:
select Productid,Variants.SKU,Variants.Size
,Prices.Currency,Prices.Country
from ga-export-0000.feed.feed_dev
,UNNEST (Variants) AS Variants
,UNNEST(Variants.Prices) as Prices
那是因为它没有 returns 行缺少 Variants.Prices。
我如何修改我的第二个查询,以便它 returns 所有行,如果缺少 Variants.Prices 它显示 NULL?
您可能对文档中的 Flattening arrays 主题感兴趣。使用 LEFT JOIN
而不是逗号,例如:
select Productid,Variants.SKU,Variants.Size
,Prices.Currency,Prices.Country
from `ga-export-0000.feed.feed_dev`
,UNNEST (Variants) AS Variants
LEFT JOIN UNNEST(Variants.Prices) as Prices
如果该数组为空,这将 return Prices
的 NULL
值。
当我查询两级嵌套字段时,我遗漏了一些行。
架构是这样的:
Productid STRING REQUIRED
Variants RECORD REPEATED
Variants.SKU STRING NULLABLE
Variants.Size STRING NULLABLE
Variants.Prices RECORD REPEATED
Variants.Prices.Country STRING NULLABLE
Variants.Prices.Currency STRING NULLABLE
部分 Variants.Prices 条记录为空。
当我使用以下查询查询此 table 时:
select Productid,Variants.SKU,Variants.Size
from ga-export-0000.feed.feed_dev
,UNNEST (Variants) AS Variants
我得到的行比这行多得多:
select Productid,Variants.SKU,Variants.Size
,Prices.Currency,Prices.Country
from ga-export-0000.feed.feed_dev
,UNNEST (Variants) AS Variants
,UNNEST(Variants.Prices) as Prices
那是因为它没有 returns 行缺少 Variants.Prices。
我如何修改我的第二个查询,以便它 returns 所有行,如果缺少 Variants.Prices 它显示 NULL?
您可能对文档中的 Flattening arrays 主题感兴趣。使用 LEFT JOIN
而不是逗号,例如:
select Productid,Variants.SKU,Variants.Size
,Prices.Currency,Prices.Country
from `ga-export-0000.feed.feed_dev`
,UNNEST (Variants) AS Variants
LEFT JOIN UNNEST(Variants.Prices) as Prices
如果该数组为空,这将 return Prices
的 NULL
值。