postgresql:任何关于子查询返回数组

Ty *_*oll 3 arrays postgresql subquery any

我有一个user_lists表,其中包含integer []类型的user_list列.

我正在尝试执行此查询,这看起来很基本:

select id, alias from users where id = ANY(select user_list from user_lists where id = 2 limit 1);

它给出了这个错误:

错误:运算符不存在:integer = integer []
提示:没有运算符匹配给定的名称和参数类型.您可能需要添加显式类型转换.

我正在使用postgres 8.3.11.升级不是一种选择.

我错过了什么?

Adr*_*fin 5

试试这个:

select id, alias from users 
where (select user_list from user_lists where id = 2 limit 1) 
@> ARRAY[id];
Run Code Online (Sandbox Code Playgroud)

  • ARRAY_1 @> ARRAY_2表示"ARRAY_1包含ARRAY_2" (2认同)