dual 에 관한 질문입니다. 0 2 1,114

by 산들바람 [Oracle 기초] [2010.07.13 18:08:55]


안녕하세요.
1번 밑에 where 조건에서요 402라는 값이 있어서 문제없이 데이터가나옵니다.
그러나 401 이라고 하면 데이터가 없어서 조건상 아무 데이터가 안나오게 되는데요
그것을 0을 나오게 하려고 하는데요.
2번처럼 dual를 사용하면 값이 많아서 안된다고 하더군요. (컬럼이 많아서 그런듯한데 어떤식으로 해야할가요, 게다가 402로 하면 10개 정도의 데이터가 나오느데. dual로 하면 402 할때 그룹바이를 해야 결과가 한개 나오게 되더라구요. 그룹바이 안주면 에러나고 그러더라구요.)
어떤식으로 해야할지. 모르겠습니다. 부탁드립니다 ㅎ;;;;

1
select STATIONNO , NVL(TERMINALKIND,'KIND_MACHINE3')TERMINALKIND, NVL(TERMINALNO,0)TERMINALNO, NVL(TERMINALDIRECTION, 'BOTH')TERMINALDIRECTION
   , NVL(TERMINALONOFF,0)TERMINALONOFF, NVL(TERMINALINOUT,0)TERMINALINOUT, NVL(TERMINALTYPE,0)TERMINALTYPE
    from CWS_GATE
    where STATIONNO = '402'    
    order by S_T_NO

2    
select nvl((   
select nvl(stationno, '1') from cws_gate
where stationno = '1'), '1')
from dual

by 마농 [2010.07.14 08:17:59]
SELECT ...
FROM cws_gate
RIGHT OUTER JOIN dual
ON stationno = '401'
;

by breeze [2010.07.14 09:03:48]
감사합니다. 간단하게 해결되는군요;;; 1번을 하위쿼리로 두고 듀얼을 주어야 하는줄 알았느데 ㅎㅎ;; 감사합니다~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입