select 질의문 문의

by 태리 posted Feb 26, 2024


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
 Linux 64bit 등
CUBRID Ver.
11.2,11,3
CUBRID TOOL Ver.
slqgate for cubrid developer 9.19.0.0
응용 환경(API)
java, php, odbc 등 입력


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

CREATE TABLE a_test (seq NUMERIC, title varchar(100));
CREATE TABLE a_test_prof (seq NUMERIC, sno NUMERIC, title varchar(100));
CREATE TABLE a_test_mbr (sno NUMERIC, name varchar(100));

 

- 수행 커리문

SELECT *
 FROM (
SELECT a.seq, (SELECT MAX(sno) FROM a_test_prof x WHERE x.seq = a.seq) AS prof_sno
   FROM a_test a
 ) a
,a_test_mbr c
WHERE  a.prof_sno = c.sno(+)
;

 

오류 내용

Error : [-494] Semantic: before ' ) AS prof_sno
   FROM a_test a
 ) a
,a_test_mbr c
WHER...'
check outer join syntax at 'x.seq=a.seq' c.sno
[CAS INFO-192.168.1.2:30000,1,6898].
----------------------------------------------------

 

- 서브커리문에서 조건을 빼면 수행이 잘돼요.
SELECT *
 FROM (
SELECT a.seq, (SELECT MAX(sno) FROM a_test_prof x ) AS prof_sno
   FROM a_test a
 ) a
,a_test_mbr c
WHERE  a.prof_sno = c.sno(+)

 

큐브리드 11.2, 11.3

(단 11.0.13은 수행이 잘됩니다.)

 

 

TAG •

Articles

2 3 4 5 6 7 8 9 10 11