오라클 계산식 질문이에요! 0 2 1,290

by 계란에그 [2016.09.27 13:29:49]


select
       A.a_ex,
       B.b_ex,
       C.c_ex,
       A.a_ex-(B.b_ex+C.c_ex) QTY
from A, B, C
where a.num= b.num(+)
and a.num= c.num(+)

이렇게하였는데 아래와같이 없는건 안되네요  원래 계산되어야하지않나요?

A.a_ex B.b_ex C.c_ex abc_ex
450000 330000 30000 90000
300000 90000 64000 146000
501000 72000 90000 339000
2100000 246000 480000 1374000
150000   148000  
50000   30000  
80000   36000  
100000   0  
by Kyle [2016.09.27 13:47:27]

B table 은 outer join 되었기 때문에  B.b_ex 값은  0 이 아닌 null 값이 나와 계산이 안된겁니다

A.a_ex-(B.b_ex+C.c_ex) QTY  => A.a_ex-(NVL(B.b_ex, 0) + C.c_ex) QTY

로 수정하시면 계산 값은 나올 겁니다.

(단, 이렇게 나온값이 원하는 값인지는 검증 하셔야 할 듯합니다.)


by 계란에그 [2016.09.27 15:01:06]

결국 하다가 case when으로 하였습니다!

감사합니다! 저게더 간단해보이네요!

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