채택완료

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

2015-08-28 (금) 16:17:16 3,770

예문쿼리에요.

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 포인트
2015-08-28 (금) 16:53:25
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​

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

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