조회데이터중 특정 데이터 값을 다른데이터와 합치기 0 3 4,395

by 손님 [SQL Query] SUM DECODE 데이터합치기 [2011.04.24 15:52:10]



안녕하세요 오라클 초보입니다.

조회된 데이터중 특정한 데이터의 값을 다른데이터와 합치고,
해당 데이터는 조회가 안되도록 하고싶습니다.

예를들면

   이름    값
1 .  A     100
2.   B     200
3.   C 300
4.   D 400

이렇게 조회될때, B의 값 200을 A의 값 100과 합치고 (100+200) ,

D의값 400은 C와 합친후에 (300+400)

B,D는 조회가안되게 하고싶습니다.

결국

   이름     값
1 .  A      300
2.   C  700

요렇게 되도록이요...
오라클 10G 사용중입니다.

답변부탁드립니다 (__)
by 허그 [2011.04.24 22:39:45]
원하는 답을 얻으려면 좀더 상세한 질문을 하셔야겠네요..
일단 질문에 대한 답은
select min(이름),sum(값)
from table

by 마농 [2011.04.25 08:57:21]
WITH t AS
(
SELECT 'A' cd, 100 v FROM dual
UNION ALL SELECT 'B', 200 FROM dual
UNION ALL SELECT 'C', 300 FROM dual
UNION ALL SELECT 'D', 400 FROM dual
)
SELECT DECODE(cd, 'B', 'A', 'D', 'C', cd) cd
, SUM(v) v
FROM t
GROUP BY DECODE(cd, 'B', 'A', 'D', 'C', cd)
;

by will [2011.04.25 11:31:36]
1. 소수의 특정데이터만 저렇게 하는건가여?
2. 아님 많은 데이터를 저와 같은 방법으로 하는건가여?

1번의 경우는 decode 문을 사용하면 될거 같네요. 밑에 답이 있으니.
2번의 경우는 a,b,c,d가 어떤 값인지 모르겠지만... 그룹을 지을수 있는 테이블 생성이 필요할거 같은데. 2번일 경우 더 정보가 필요할거 같네요.


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