我有一个带有嵌套字段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'和'一些测试数据'
答案 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'))