결과 합치는 쿼리좀 부탁드립니다. 0 4 2,132

by 리프 [SQL Query] 쿼리 GROUP BY 데이터 합치기 [2014.12.24 23:49:26]


1.png (11,698Bytes)

SELECT O.MM_ID, O.NAME, M.ZONE, M.PHONE1,
    DECODE(O.O_NUM,'1',O.O_CNT,'-') NUM1,
    DECODE(O.O_NUM,'2',O.O_CNT,'-') NUM2,
    DECODE(O.O_NUM,'3',O.O_CNT,'-') NUM3,
    DECODE(O.O_NUM,'4',O.O_CNT,'-') NUM4,
    DECODE(O.O_NUM,'5',O.O_CNT,'-') NUM5,
    O.PAY * O.O_CNT COST, O.GUBUN
FROM MEMBER M, TB_ORDER O WHERE M.MM_ID(+) = O.ID AND O.STATUS='1' ORDER BY O.RGST_DATE DESC, O.O_NUM

이런 쿼리를 돌렷을때 첨부파일과 같은 결과가 나옵니다.

MM_ID 키값을 기준으로 각각 한줄로 표시될수 있도록 하고 싶습니다.,ㅠ COST는 나중에 SUM 하면돼는거라 크게 신경안써도 될꺼같은데요.. 각각 한줄로 합치는걸 못하겠네요...;

크리스마스인데ㅠ 큰부탁드립니다... 도와주세요~;;;

by 아발란체 [2014.12.25 11:08:37]

mm_id 값 기준으로 합칠 때

name, zone, gubun 등 텍스트 값은 어떤 값을 대표 값으로 할 것인지,

(mm_id 값으로 합칠 때 gunbun 값이 카드, 현금 둘 다 있을 때 1줄로 표시하면 어떤 값으로?)

num1... num5, cost는 SUM하면 되는 것인지 추가 단서가 필요해 보입니다.


by 리프 [2014.12.26 10:42:52]

글올리고 일이 있어서요 ㅠ 댓글을 이제 봣네요.;;

마농님이 올려주셔서 해결됐네요 감사합니다.


by 마농 [2014.12.26 08:58:03]
SELECT o.mm_id, o.name, m.zone, m.phone1
     , SUM(DECODE(o.o_num, 1, o.o_cnt)) num1
     , SUM(DECODE(o.o_num, 2, o.o_cnt)) num2
     , SUM(DECODE(o.o_num, 3, o.o_cnt)) num3
     , SUM(DECODE(o.o_num, 4, o.o_cnt)) num4
     , SUM(DECODE(o.o_num, 5, o.o_cnt)) num5
     , SUM(o.pay * o.o_cnt) cost
     , o.gubun
  FROM member m
     , tb_order o
 WHERE m.mm_id(+) = o.id
   AND o.status = '1'
 GROUP BY o.mm_id, o.name, m.zone, m.phone1, o.gubun
 ORDER BY o.mm_id DESC
;

 


by 리프 [2014.12.26 10:44:08]

우핫.. 감사합니다~~;;

group by를 많이 써봐야겠습니다.

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