Q&A

  • 쿼리질문입니다. 머리에쥐가날정도....
간만에 머리에서 쥐가날정도입니다. 해결이 잘안되네요.
MS-SQL을 사용합니다.
아래와 같은 A테이블이 있습니다.

-------------------------------------------
     일자        거래처         판매금액
-------------------------------------------
2003년02월01일   M0001          500,000
2003년02월01일   M0002          100,000
                   ~  
2003년02월02일  M0002          300,000
                   ~
2004년02월01일   M0001          200,000
2004년02월01일   M0003          200,000
                   ~
2004년02월02일   M0002          100,000
2004년02월02일   M0003          600,000
-------------------------------------------
위와같은 테이블을 아래와 같이 쿼리할려고합니다.

-------------------------------------
  일자     2003년        2004년
-------------------------------------
02월01일   500,000       200,000
02월02일   300,000       100,000
-------------------------------------
핵심은 전년도해당월과 당해년도해당월에 양쪽에 모두 있는매장에 대한 판매금액을
횡으로 연도별로 판매금액을 표시할려고 합니다.
이와같이 쿼리를 구성할수있을까요? 부탁드리겠습니다.


1  COMMENTS
  • Profile
    김진용 2004.02.24 19:39
    오라클은 decode를 사용하면되는데.. ms-sql은 case when 문을 사용하면
    될것 같은데요...

    select  substring(일자,1,4)
          ,case substring(일자,1,4) when '2003' then sum(판매금액)
          ,case substring(일자,1,4) when '2004' then sum(판매금액)
    from  데이타
    where  substring(일자,1,4) >= '2003'
    and    substring(일자,1,4) <= '2004'
    group by substring(일자,1,4)

    저두 ms-sql은 사용하지 않아서  test는 못해봐았습니다... 그러나 case 문을 활용하면 문제를 쉽게 해결할수 있을것 같네요..