쿼리문에서 if문 질문이요!

쿼리문에서 if문 질문이요!

QA

쿼리문에서 if문 질문이요!

본문

예문쿼리에요.

 

a테이블에 id와 b테이블에 tel을 불러오는데 공통키로 cd를 가지고있어요.

 


select 
        a.id
        ,b.tel
from
        ​table1 a
        ​,table2 b​
where
        a.id='id'
        ​and a.cd =
        ​        ​case
        ​        ​        ​when
        ​        ​        ​        ​a.cd = b.cd
        ​        ​        ​then
        ​        ​        ​        ​d.cd
        ​        ​        ​else
        ​        ​        ​        ​null
        ​        ​end​

 

이런식으로 if문을 줬는데요.

 

a테이블의 cd랑 b테이블의 cd가 있을땐 잘 나오는데요.

 

a테이블에 cd가 없을때도 있어요. 그래서 a테이블의 cd가 null허용이고요.

 

그래서 a.cd와 b.cd가 맞는게 없다면 a.cd is null 이렇게 줘야 널값을 찾게하는데 =를 빼면 문법오류가나버려요...

 

nvl써도 반환값을 정해야하는데 이미 =가 있어서 작성하고나면 a.cd = is null 이렇게 되어버려요.

 

if문에서 널값을 선택하는 방법이 없을까요...?

이 질문에 댓글 쓰기 :

답변 1

select 
        a.id
        ,b.tel
from
        ​table1 a
        ​,table2 b​
where
        a.id='id'
        ​and         ​       

​case ​ ​ ​when ​ ​ ​ ​a.cd = b.cd ​ ​ ​then ​ ​ ​ a.cd = ​d.cd ​ ​ ​else ​ ​ ​ a.cd is ​null ​ ​end​

 

 

제가 지금 확인을 할 수가 없어서 이렇게 하면 안될까요..

 

답변을 작성하시기 전에 로그인 해주세요.
전체 98
QA 내용 검색
filter #if ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT