我有一个表,其中包含user_ids
一个 Postgres 数组列。
我需要messages
从另一个表中选择所有列,其中列user_id
是给定数组中的一个 ID。
在伪 sql 中:
select users.*
from users
where id IN a_postgres_array
有任何想法吗?
我有一个表,其中包含user_ids
一个 Postgres 数组列。
我需要messages
从另一个表中选择所有列,其中列user_id
是给定数组中的一个 ID。
在伪 sql 中:
select users.*
from users
where id IN a_postgres_array
有任何想法吗?
您可以使用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)
select users.*
from users
where id IN (
select unnest(a_postgres_array)
from t
where columnX = some_value
)