오라클 9i에서 소계 쿼리 0 1 2,028

by 가나다아아 [SQL Query] oracle 9i rollup cube 소계 합계 [2018.01.03 03:16:44]


SELECT   COUNT(A.COL1) AS CNT
          , A.COL2
          , A.COL3
          , B.COL1
          , B.COL2
  FROM TB_A A
         , TB_B B
 WHERE A.COL4= B.COL1
GROUP BY A.COL2
             , A.COL3
            , B.COL1
            , B.COL2

이 쿼리의 결과값들이

CNT             A.COL2                    A.COL3                   B.COL1                    B.COL2

5                  10                           A                           감자                   맛있는감자

3                  20                           A                           감자                   맛있는감자

2                  30                           A                           사과                   맛있는사과

10                 40                           B                          삼겹살                 삼겹살200g

8                  50                           B                           삼겹살                삼겹살200g

7                  60                           B                           목살                   국내산목살

이런식으로 나온다고 가정했을때  B.COL1별로 소계(CNT의 합)

EX)

CNT             A.COL2                    A.COL3                   B.COL1                    B.COL2

5                  10                           A                           감자                   맛있는감자

3                  20                           A                           감자                   맛있는감자

8

2                  30                           A                           사과                   맛있는사과

2

10                 40                           B                          삼겹살                 삼겹살200g

8                  50                           B                           삼겹살                삼겹살200g

18

7                  60                           B                           목살                   국내산목살

7

이런식으로 결과값을 주고 싶은데 ROLLUP을 아무리써봐도 답이 안나오네요.. 조언부탁드립니다.ㅜ

 

 

 

 

 

 

by 마농 [2018.01.03 08:26:13]
SELECT COUNT(a.col1) AS cnt
     , a.col2
     , a.col3
     , b.col1
     , b.col2
  FROM tb_a a
     , tb_b b
 WHERE a.col4 = b.col1
 GROUP BY b.col1, ROLLUP((a.col2, a.col3, b.col2))
;

 

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