arrays - postgresql:任何子查询返回数组

标签 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。升级不是一种选择。

我错过了什么?

最佳答案

试试这个:

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

关于arrays - postgresql:任何子查询返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10650145/

相关文章:

sql-server - 在 SQL Server 中计算移动范围(无数组)

java - 如何在单独的行上输出字符串数组,每行允许有 N 个字符

ruby-on-rails - 将元素推送到 ruby​​ 数组中的特定索引处

postgresql - PostgreSQL 中的 SELECT 查询

javascript - 如何制作一个从 .json 文件加载其元素的嵌入 react 菜单?

postgresql - 从文件恢复 postgresql

python - Psycopg2 中的 `TypeError: argument 2 must be a connection, cursor or None`

来自 5.7 的 mysql 8 查询回归(有什么问题?)

MySql - 子表中列的 SUM() (1 :n) in a Sub-query/Outer Join using LIMIT

mysql - 运行相同的 UPDATE 查询,直到上次运行中有受影响的行(MySQL 5.5)