2013-03-28 6 views
0

이 같은 SQL 쿼리에 문제가있는 다른 기록에서 합계를 선택합니다오라클 - 하나 개의 테이블

MyTab1 :

KODE ---- Perkiraan --- LVL --- GD -

0,123,516 - DK --- REFF ---- ------ N1 N2 N3 ----- ----- N4

10.000 Group I  1 G D    0  0  0  0 
10.100 test 1  2 G D 10.000 0  0  0  0 
10.101 test 1AA 3 D D 10.100 10  20 15 15 
10.102 test 1BB 3 D D 10.100 15  5  0 20 
10.200 test 2  2 G D 10.100 0  0  0  0 
10.201 test 2AA 2 D D 10.200 30  0 10 20 
10.202 test 2BB 2 D D 10.200 0  50  3 50 
20.000 Group II 1 G K    0  0  0  0 
20.100 test XY  1 G K 20.000 0  0  0  0 
20.101 test XY1 2 D K 20.100 20  10 50 60 
20.102 test XY2 2 D K 20.100 10  10 50 50 
20.200 test II  2 D K 20.000 5  2  0  3 

N4 열은 상태에서 인DK = D, N1 + N2 경우

- DK = K, N1 + N3 경우 N3
- N2

내 경우에는

, 난이 같은 결과 쿼리를 만들고 싶어 :

Kode ---- Perkiraan --- Lvl --- GD --- DK --- REFF --- --- N1 --- N2 --- --- N3 --- --- N4

10.000 Group I  1 G D   55 50  0  0 
10.100 test 1  2 G D 10.000 25 25 15 25 
10.101 test 1AA 3 D D 10.100 10 20 15 15 
10.102 test 1BB 3 D D 10.100 15  5  0 20 
10.200 test 2  2 G D 10.100 30 50 13 67 
10.201 test 2AA 2 D D 10.200 30  0 10 20 
10.202 test 2BB 2 D D 10.200 0 50  3 47 
20.000 Group II 1 G K   35 22 200 223 
20.100 test XY  1 G K 20.000 30 20 100 110 
20.101 test XY1 2 D K 20.100 20 10 50 60 
20.102 test XY2 2 D K 20.100 10 10 50 50 
20.200 test II  2 D K 20.000 5 2  0  3 
  1. 기준 1 : lvl = 2, 레벨 3의 합계 값 또는 REFF 열의 값과 적절합니다.

  2. 기준 2 : lvl = 1, 레벨 2의 합계 값 또는 REFF 열의 값과 적절합니다.

  3. 기준 3 : lvl = 3, 열 N2 및 N3은 레코드 값이거나 쿼리 조인 또는 다른 테이블의 합계 일 가능성이 큽니다. 제발 도움을 줄 수

사람 .....

답변

0

난 완전히 당신의 질문을 이해하지 않습니다하지만 난

sum (y) over (partition by xx order by z) 

+0

헤일로 씨 .. 답변 주셔서 감사합니다. – Mulyadi

0

감사합니다 씨로보고 싶은데 ..

필자의 경우 MyTab1에서 확인할 수 있습니다. 필드 KODE에서 볼 수 있습니다. 값은 10.000에서 10.102까지입니다. 10.000은 최상위 레벨 (lvl)이고 10.100은 2 레벨이며 10.101은 3 레벨입니다. 레벨 3은 세부 데이터입니다. 제 경우에는 레벨 3이 트랜잭션 데이터입니다.

행 레벨 1과 2의 기본값은 0입니다 ('G'= 일반이라고, GD 필드 참조 'G'일반 및 'D'는 상세 정보입니다).

상단의 샘플과 같은 결과로 쿼리를 만들고 싶습니다. 여기서 레벨 (lvl) 2의 조건식은 모든 레벨 3과 REFF = 10.100 및 레벨 1 (레벨 2의 합계)의 합계 입니다.

예 :

10.100 test 1  2 G D 10.000 25  25 15 35 

N1 = 25 is from 10+15  
N2 = 25 is from 20+5  
N3 = 15 is from 15+0  and  
N4 = 35 is from (if Field DK = D, N1 + N2 - N3 and if DK = K then N1 + N3 - N2). 

같은 레벨 1. 쿼리를 만들 수

I 어려움의 경우였다

Kode Perkiraan Lvl GD DK REFF  N1  N2 N3 N4  
10.000 Group I  1 G    0  0  0  0 
10.100 test 1  2 G D 10.000 0  0  0  0  
10.101 test 1AA 3 D D 10.100 10  20 15 15  
10.102 test 1BB 3 D D 10.100 15  5  0 20 

나는이 같은 결과를 확인합니다.

관심과 성원에 진심으로 감사드립니다.

Mulyadi.
인도네시아.

관련 문제