我经常使用integer = ANY(integer[])
语法,但现在任何操作符都不起作用.这是我第一次使用它来比较标量和从CTE返回的整数,但我认为这不会导致问题.
我的问题是:
WITH bar AS (
SELECT array_agg(b) AS bs
FROM foo
WHERE c < 3
)
SELECT a FROM foo WHERE b = ANY ( SELECT bs FROM bar);
当我运行它时,它会抛出以下错误:
错误:运算符不存在:整型=整型[]:带条形(
详情请参阅本SQL Fiddle页.
那么我做错了什么?