쿼리문에서 if문 질문이요! 채택완료

10년 전 조회 3,125

예문쿼리에요.

 

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

 

Copy
select         a.id        ,b.telfrom        ​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개

채택된 답변
+20 포인트
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​

 

 

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고