如何比较WHERE中的两个数组?

时间:2015-11-12 08:28:04

标签: mysql doctrine-orm

我需要查询以了解ARRAY2是否包含我的ARRAY1的所有成员。

这样的事情:

    ->where("entity.array IN :array_in_parameters")

例如,如果entity.array包含数字1 2 3 4且array_in_parameters包含1 2 3,则应选择它。

有个主意吗?

1 个答案:

答案 0 :(得分:0)

您可以使用FIND_IN_SET,但效率低下。您必须单独找到array_in_parameters中的每个元素:

where find_in_set(1, entity.array) > 0 and
      find_in_set(2, entity.array) > 0 and
      find_in_set(3, entity.array) > 0

查看更多详情here