有没有办法检查BigQuery REPEATED字段是否包含特定值?
我尝试做类似的事情:
SELECT CASE WHEN column1 CONTAINS ("Test Value") THEN 1 ELSE 0 END FROM testdata
当column1是模式为REPEATED的STRING类型的字段时。 我有多个具有相同性质的REPEATED列,因此必须将它们全部展平,这似乎很乏味。
答案 0 :(得分:5)
尝试以下
send_mail
我意识到 - 虽然从你的例子中复制/粘贴我留下了一些额外的东西,可以删除而不会丢失结果 - 因此它不仅会告诉你是否有匹配(真/假)而是给你一些匹配的内容每条记录:
SELECT
id_or_whatever_key_column_you_have,
SUM(CASE
WHEN column1 CONTAINS ("Test Value") THEN 1
ELSE 0 END
) WITHIN RECORD AS matches
FROM testdata
我认为Danny的回答在我的脑海中触发了这个:o)
答案 1 :(得分:4)
您可以使用SOME
来完成此操作,例如
SELECT SOME(column1 CONTAINS ("Test Value")) WITHIN RECORD FROM testdata