【发布时间】:2017-07-29 15:58:23
【问题描述】:
我可以单独使用ARRAY_CONTAINS 函数ARRAY_CONTAINS(array, value1) AND ARRAY_CONTAINS(array, value2) 来获得结果。但我不想多次使用ARRAY_CONTAINS。是否有一个函数可以同时检查两个值在数组中是否存在。
【问题讨论】:
-
为什么不想多次使用 ARRAY_CONTAINS?
-
我使用的是内连接,因此单独检查值可能会导致额外开销。
-
这似乎没有多大意义。请展示您的代码(或简化代码)和一个小数据示例
-
表包含
id, label, Array[type], Array[feature], textual1, numeric1 and numeric2列。查询是(SELECT id, label, textual1 FROM table WHERE ARRAY_CONTAINS(type, 'productType1') AND ARRAY_CONTAINS(feature, 'feature1') AND ARRAY_CONTAINS(feature, 'feature2') AND numeric1 > 3) UNION (SELECT id, label, textual1 FROM table WHERE ARRAY_CONTAINS(type, 'productType1') AND ARRAY_CONTAINS(feature, 'feature1') AND ARRAY_CONTAINS(feature, 'feature3') AND numeric2 > 4) ORDER BY label -
请将其移至您的帖子