问题描述
我试图连接两个表,每个表都有一个数组列。我的目的是比较第二个数组中是否存在第一个数组的任何值。
我正在写如下的where子句
any(table1.array1) = any(table2.array2)
但这对我不起作用。
解决方法
操作员&&应该可以解决问题。如果Array2中存在Array1中的任何元素,则将返回此值。 在此处参考PostgreSQL文档:Array Operators
select array[1,2,3] && array[2,4,5],array[1,3] && array[4,5,6],3] && array[1]
Output: true,false,true
如果要查看第二个数组中是否存在所有元素,则应使用@>或