[답변] GROUP_ID() 이용 0 1 4,219

by 마농 group by rollup grouping group_id [2008.09.11 13:51:41]


SELECT t.category_code
     , CASE WHEN GROUPING(t.category_code) = 0
            THEN '  '||t.category_name
            ELSE c.attribute2 || DECODE(GROUP_ID(),0,'계',':')
        END AS category_name
     , CASE WHEN GROUP_ID() = 0
            THEN SUM(DECODE(t.period_name,'Dec-99',t.amount_krw,0))
        END AS this_term
     , CASE WHEN GROUP_ID() = 0
            THEN SUM(DECODE(t.period_name,'Dec-99',0,t.amount_krw))
        END AS former_term
  FROM klc_footnote_other_profit_loss t
     , (SELECT 'A' attribute1, '기타이익' attribute2 FROM dual
         UNION ALL SELECT 'B', '기타손실' FROM dual
        ) c
 WHERE t.attribute1 = c.attribute1
   AND t.period_name IN ('Dec-99'
           , TO_CHAR(ADD_MONTHS(TO_DATE('Dec-99','Mon-YY'),-12),'Mon-YY') )
 GROUP BY t.attribute1, c.attribute2
     , ROLLUP(t.attribute1, (t.category_code, t.category_name))
 ORDER BY t.attribute1, GROUP_ID() DESC, t.category_code

by 손님 [2008.09.16 09:54:50]
매번 도움 정말 감사합니다.. 아직 제 수준에선 정말 어렵네요.. =_=
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입