0

我有一个表,其中包含user_ids一个 Postgres 数组列。

我需要messages从另一个表中选择所有列,其中列user_id是给定数组中的一个 ID。

在伪 sql 中:

select users.*
from users
where id IN a_postgres_array

有任何想法吗?

4

2 回答 2

1

您可以使用ANY运算符。从您的样本中:

select users.*
from users
where id =ANY(a_postgres_array)

当使用两个表时,它可能是一个JOIN,例如:

SELECT users.*
FROM users INNER JOIN table_with_array ON users.id =ANY(table_with_array.a_postgres_array)
于 2013-02-25T19:15:20.900 回答
0
select users.*
from users
where id IN (
    select unnest(a_postgres_array)
    from t
    where columnX = some_value
    )
于 2013-02-25T11:36:28.247 回答