select title from table1 inner join table2 in( select title2 from table3 connect by prior table3.a = table1.a start with title2 = 'abc');
이런식에 쿼리가 있는데 실행하면
Cannot use a subquery in join condition clause
이런에러가 발생합니다.
어떤식으로 수정해야할까요?
* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window7 32bit, Linux 64bit 등 |
|
[cubrid_rel] 수행 결과 |
|
[도움말]-[버전정보] 확인 |
|
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요
큐브리드를 이용해 주셔서 감사합니다.
문의하신 쿼리와 유사한 형태로 메인쿼리의 특정 테이블의 컬럼을 In절 서브쿼리내의 connect by 절에서 참조하려고 하는 부분으로 이해되는데요. 올려 주신 쿼리 일부분을 수정하고(Syntax 에러가 발생하여 where 조건 추가, 무한 loop 방지를 위한 nocycle 추가) 비슷한 형태로 수행하면 문의주신 에러는 발생하지 않고 수행은 됩니다. 참고로 Oracle에서 올려주신 쿼리 형태로 수행하게 되면 ORA-00905(누락된 키워드..)가 발생하면서 수행은 되지 않으며, 앞서 언급한대로 where 조건등을 추가하면 문제없이 수행이 됩니다. 관련 내용을 참고하시어 수행하고자 하는 쿼리에 대해서 검토 바랍니다.
<CUBRID>
<Oracle :문의주신 쿼리 형태와 동일 유형>