IT 팁/PostgreSQL

IN (ARRAY_AGG()) 사용법:UNNEST

90년대생 직장인 2021. 11. 22. 09:45
반응형

 

ARRAY_AGG로 묶인 배열을 IN으로 조회할 수는 없다.

ARRAY_AGG를 UNNEST를 통해 로우로 만들어 사용해야한다.

 

select * 
from temp 
where arr in (select array_agg(arr) from temp2 )

위의 쿼리로 실행시 에러가 발생한다.

 

unnest을 사용한 쿼리이다.

select * 
from temp 
where arr in (select unnest(array_agg(arr))
              from temp2)

 

#Trouble Shooting

배열을 In으로 조회하면 문자열 에러가 발생한다.

문자열을 unnest를 사용하여 로우로 변환한다.

반응형

'IT 팁 > PostgreSQL' 카테고리의 다른 글

[PostgreSQL] isnull() : coalesce()  (0) 2021.11.23
[PostgreSQL] 년, 월(01~12) 검색 Lov 만들기  (0) 2021.11.23