繁体   English   中英

在 bigquery 中,如何检查一个数组中的至少一个元素是否在另一个数组中?

[英]In bigquery how can I check if at least one elemnt from one array is in another array?

我有两个 arrays。 让我们称它们为 arr1 和 arr2。 我想要做的是找到所有具有以下条件的行:如果来自 arr1 的至少一个元素在 arr2 我想得到这一行

有任何想法吗? 也许左加入?

查找具有以下条件的所有行:如果 arr1 中的至少一个元素在 arr2 中,我想获取这一行。

您可以使用INTERSECT查询。

WITH sample_table AS (
  SELECT [1, 2, 3, 4, 5] arr1, [4, 5, 6, 7, 8] arr2 UNION ALL
  SELECT [1, 2, 3, 4, 5] arr1, [6, 7, 8, 9, 0] arr2
)
SELECT *
  FROM sample_table t
 WHERE EXISTS(SELECT * FROM t.arr1 INTERSECT DISTINCT SELECT * FROM t.arr2)
样品 Output

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM