안녕하세요.
SQL 서브쿼리시 NOT IN을 사용하면 not implemented feature: Not-in subquery 에러가 발생 합니다.
아래 도큐멘트를 봐도 서브쿼리시 NOT IN 사용 예제가 있습니다만
NOT IN과 함께 서브쿼리를 하면 에러가 발생 합니다.
아래와 같이 해 보았습니다만 잘못 쿼리한 부분이 있는지 궁금합니다.
-----
-- test1 테이블 생성
CREATE EXTERNAL TABLE default.test1
(
unum int,
uname text
) using text with('text.delimiter'=',') location 'hdfs://htm-0001:9000/tajo/temp/test1';
-- test2 테이블 생성
CREATE EXTERNAL TABLE default.test2
(
unum int,
uname text
) using text with('text.delimiter'=',') location 'hdfs://htm-0001:9000/tajo/temp/test2';
-- test1.csv, test2.csv 파일 생성후 해당 위치에 각각 copy
1,a
2,b
3,c
4,d
5,e
6,f
-- 에러 없이 쿼리 성공
SELECT *
FROM default.test1
WHERE uname NOT IN ('a','b')
-- not implemented feature: Not-in subquery 에러 발생
SELECT *
FROM default.test1
WHERE uname NOT IN (SELECT uname FROM default.test2 WHERE uname IN ('a','b'))
org.apache.tajo.exception.NotImplementedException: not implemented feature: Not-in subquery [SQL State=0A000, DB Errorcode=202]
-- 동일하게 not implemented feature: Not-in subquery 에러 발생
SELECT *
FROM default.test1
WHERE unum NOT IN (SELECT avg(unum) FROM default.test2 WHERE uname IN ('a','b'))
----------
또한 NOT IN 쿼리와 서브 쿼리를 사용할 수 없다면 우회하여 NOT IN을 사용할 수 있는 방법은 없는지요?
확인을 부탁 드립니다.