SQL select 문의드립니다.^^ 4

by 스나이퍼 [2016.07.04 09:31:09]


20160704_092753.jpg (156,527Bytes)

금칙어라고 떠서 이렇게 다시 그림으로 문의드립니다.ㅠ

혹시 어느 부분이 금칙어에 해당할까요??

 

 

by 마농 [2016.07.04 10:23:05]

jucd 가 gita code 의 컬럼이라면? 당연한 에러죠.
gita code 에 대한 쿼리는 이미 괄호 안에서 끝났는데
괄호 밖에서 해당 항목을 사용할 수는 없죠.

 

...댓글 등록 에러나서 등록 테스트...

===> 음..gita 와 code 를 붙여 쓰니 등록이 안되고 에러 나네요.

===> " i t a c " 이 들어가면 오류 나는 듯. (이게 금칙어인 듯)

HTTP Status 400 -


type Status report

message

description The request sent by the client was syntactically incorrect.


by 마농 [2016.07.04 10:30:19]
-- 1. jucd 를 가져오가 위해서는 다시 또 Select 해야 하는데
SELECT ...
     , DECODE( (SELECT COUNT(*) FROM gita_code s WHERE s.gcode = m.cojucd)
             , 0, m.cojucd
             , (SELECT s.jucd   FROM gita_code s WHERE s.gcode = m.cojucd)
             ) cojucd
  FROM main_table m
;
-- 2. 굳이 Count Decode 하지 말고 바로 가져다 쓰고 NVL 처리하면 되구요
SELECT ...
     , NVL((SELECT s.jucd FROM gita_code s WHERE s.gcode = m.cojucd), m.cojucd) cojucd
  FROM main_table m
;
-- 3. 서브쿼리보다는 아우터 조인이 적당할 듯 하네요.
SELECT ...
     , NVL(s.jucd, m.cojucd) cojucd
  FROM main_table m
     , gita_code  s
 WHERE s.gcode(+) = m.cojucd
;

 


by jkson [2016.07.04 11:36:25]

찾으셨군요. 아침에 댓글이 계속 안 돼서 왜 그런가 했더니..


by 스나이퍼 [2016.07.21 19:16:50]

감사합니다.^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입