2013-02-25 2 views
0

나는 Postgres 배열 인 열 user_ids을 포함하는 테이블을 가지고 있습니다.Postgres 배열을 사용하여 데이터 선택

user_id이 주어진 배열의 ID 중 하나 인 다른 테이블에서 모두 messages을 선택해야합니다. 사이비-SQL에서

:

select users.* 
from users 
where id IN a_postgres_array 

어떤 아이디어가?

답변

0
select users.* 
from users 
where id IN (
    select unnest(a_postgres_array) 
    from t 
    where columnX = some_value 
    ) 
0

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) 
관련 문제