来自嵌套字段的BigQuery查询

时间:2015-05-14 17:24:41

标签: google-bigquery

我有一个带有嵌套字段externalIds.value

的表

我想运行一个查询,其中2个条目匹配此字段中的值。这是我的查询,它不会返回任何数据。

SELECT keyField, field2, example.field1, example.field2,
externalIds.type, externalIds.value FROM (FLATTEN([dataset1.table1], externalIds))
WHERE
externalIds.value = '157' AND
externalIds.value = 'Some test data'
;

如果我只使用1个WHERE子句(externalIds.value ='157')运行此查询,然后运行查询WHERE keyField =“从上一个查询返回的值”,那么我得到两行。一个显示externalIds.value为'157',另一个结果为'Some some data'。

我对在结果中显示两个值都不感兴趣。我的首要任务是获取keyField WHERE .value为'157'和'一些测试数据'

1 个答案:

答案 0 :(得分:1)

也许是这样的:

SELECT keyField, field2, example.field1, example.field2,
externalIds.type, externalIds.value FROM [dataset1.table1]
OMIT RECORD IF NOT(
  SOME(externalIds.value = '157') AND
  SOME(externalIds.value = 'Some test data'))