컬럼의 금액을 그대로 끌고오려합니다..2 1 562

by 여비몬 [2015.06.26 10:32:45]


안녕하세요 이부분을 잘 몰라 여쭙게되었습니다..

아래의 쿼리를 실행하면

select b.item, sum(a.qty+a.price)

  from table a, table b

where a.item = b.item

 

아이템        금액

itemb         30,000

itembF        null

 

위의 결과값처럼 item 뒤에 F자가 붙는 item만 null로 되어있습니다.

원본코드인 itemb의 가격을 그대로 끌고오려면 어떻게해야할까요...?

다른 코드들인 itema 라면 itemaF인 코드는 금액이 null로 들어가 있습니다.

 

sql이 아닌 mssql이다보니 decode나 substr을 못쓰다보니 이렇게 다시 한번

질문을 남깁니다..

by 창조의날개 [2015.06.26 14:22:50]
-- 지난번거를 MSSQL에서 돌아가게 바꿔 봤습니다


select b.item
     , CASE WHEN (a.qty+a.price) = null
            THEN (SELECT (qty+price) FROM tableA WHERE ITEM = REPLACE(A.ITEM,'F','') )
            ELSE (a.qty+a.price)
       END QP_SUM
  from table a, table b
where a.item = b.item
;

-- REPLACE는 문법이 비슷하네요..
-- DECODE대신 CASE를 썻네요..
-- SQL서버가 없어서 테스트는 못해보내요..