Google BigQuery检查一个数组是否是另一个数组的超集/子集

Rentian Dong

给定Google BigQuery中的两个数组,我需要弄清楚一个数组中的所有元素是否都包含在另一个数组中。

例如,我正在尝试完成以下查询:

WITH
  ArrayA AS (
  SELECT
    [1, 2, 3] arrA,
  UNION ALL
  SELECT
    [4, 5, 6])
  ArrayB AS (
  SELECT
    [1, 2, 3, 4, 5] arrB)
SELECT
  *
FROM
  ArrayA
CROSS JOIN
  ArrayB
WHERE
  <your code goes here>

这样结果看起来像

arrA    | arrB
[1,2,3] | [1,2,3,4,5]

,因为[1,2,3,4,5]是[1,2,3]的超集,但不是[4,5,6]的超集。

提前谢谢了。

戈登·利诺夫

我认为这些条件可以满足您的要求:

WITH
  ArrayA AS (
  SELECT ARRAY[1, 2, 3] arrA,
  UNION ALL
  SELECT ARRAY[4, 5, 6]),
  ArrayB AS (
  SELECT ARRAY[1, 2, 3, 4, 5] arrB)
SELECT *
FROM ArrayA a CROSS JOIN
     ArrayB b
WHERE NOT EXISTS (SELECT a_el
                  FROM UNNEST(a.arrA) a_el LEFT JOIN
                       UNNEST(b.arrB) b_el
                       ON a_el = b_el
                  WHERE b_el IS NULL
                 ) AND
      NOT EXISTS (SELECT COUNT(*)
                  FROM UNNEST(a.arrA) a_el LEFT JOIN
                       UNNEST(b.arrB) b_el
                       ON a_el = b_el
                  HAVING COUNT(*) <> COUNT(b_el)
                 ) ;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google表格公式根据另一个数组中的匹配项查询一个数组

来自分类Dev

Google表格,如何从另一个数组中减去一个数组?

来自分类Dev

根据Google Apps脚本中的另一个数组过滤一个数组

来自分类Dev

如何使用Google脚本在另一个数组中搜索模式数组?

来自分类Dev

使用“广泛匹配”样式的过滤方法,基于Google Apps脚本中的另一个数组过滤一个数组

来自分类Dev

检查一个数组是否是另一个数组的子集(但检查一个属性)

来自分类Dev

Google表格脚本-当满足共同值时,停止填充与另一个数组相比的数组

来自分类Dev

如何检查一个数组是否是另一个数组的正确排序子集

来自分类Dev

剖析此代码,解释-检查是否另一个数组的数组子集

来自分类Dev

检查一个数组是否包含另一个数组

来自分类Dev

检查一个数组是否是另一个数组的置换版本

来自分类Dev

检查一个数组是否包含另一个数组的值

来自分类Dev

使用Google Script检查一个日期是否大于另一个日期

来自分类Dev

检查列中的值是否为另一个数组的超集

来自分类Dev

如何在Ruby中查找一个数组是否是另一个数组的子集?

来自分类Dev

基于另一个数组的ndarray的子集

来自分类Dev

剖析此代码,解释-检查另一个数组的数组子集

来自分类Dev

Numpy:检查一维数组是否是另一个数组的子数组

来自分类Dev

如何检查单词是否落入一个或另一个数组?

来自分类Dev

根据另一个数组列表检查一个数组列表

来自分类Dev

检查另一个数组中一个数组的元素

来自分类Dev

如何检查一个数组中的任何变量是否在另一个数组中

来自分类Dev

JavaScript-检查一个数组是否与另一个数组具有相同的索引

来自分类Dev

如何检查一个数组是否包含PHP中的另一个数组?

来自分类Dev

JS检查一个数组是否嵌入到另一个数组中

来自分类Dev

使用linq检查一个数组中的值是否在另一个数组中

来自分类Dev

检查一个数组的所有元素是否在另一个数组中

来自分类Dev

检查对象内部的另一个数组中是否包含一个数组

来自分类Dev

检查一个数组的值是否与另一个数组的键匹配-PHP

Related 相关文章

  1. 1

    Google表格公式根据另一个数组中的匹配项查询一个数组

  2. 2

    Google表格,如何从另一个数组中减去一个数组?

  3. 3

    根据Google Apps脚本中的另一个数组过滤一个数组

  4. 4

    如何使用Google脚本在另一个数组中搜索模式数组?

  5. 5

    使用“广泛匹配”样式的过滤方法,基于Google Apps脚本中的另一个数组过滤一个数组

  6. 6

    检查一个数组是否是另一个数组的子集(但检查一个属性)

  7. 7

    Google表格脚本-当满足共同值时,停止填充与另一个数组相比的数组

  8. 8

    如何检查一个数组是否是另一个数组的正确排序子集

  9. 9

    剖析此代码,解释-检查是否另一个数组的数组子集

  10. 10

    检查一个数组是否包含另一个数组

  11. 11

    检查一个数组是否是另一个数组的置换版本

  12. 12

    检查一个数组是否包含另一个数组的值

  13. 13

    使用Google Script检查一个日期是否大于另一个日期

  14. 14

    检查列中的值是否为另一个数组的超集

  15. 15

    如何在Ruby中查找一个数组是否是另一个数组的子集?

  16. 16

    基于另一个数组的ndarray的子集

  17. 17

    剖析此代码,解释-检查另一个数组的数组子集

  18. 18

    Numpy:检查一维数组是否是另一个数组的子数组

  19. 19

    如何检查单词是否落入一个或另一个数组?

  20. 20

    根据另一个数组列表检查一个数组列表

  21. 21

    检查另一个数组中一个数组的元素

  22. 22

    如何检查一个数组中的任何变量是否在另一个数组中

  23. 23

    JavaScript-检查一个数组是否与另一个数组具有相同的索引

  24. 24

    如何检查一个数组是否包含PHP中的另一个数组?

  25. 25

    JS检查一个数组是否嵌入到另一个数组中

  26. 26

    使用linq检查一个数组中的值是否在另一个数组中

  27. 27

    检查一个数组的所有元素是否在另一个数组中

  28. 28

    检查对象内部的另一个数组中是否包含一个数组

  29. 29

    检查一个数组的值是否与另一个数组的键匹配-PHP

热门标签

归档