각 고객 ID에 대해 가장 큰 순서 번호를 사용하고자합니다 (가장 큰 순서 번호는 가장 높은 은행 계좌 잔고를 기반으로 계산됩니다).중첩 된 가입으로 가장 높은 Seq 번호 선택
이 테이블에는 100000 개의 레코드가 있습니다.
테이블
ClientSeqTable T1
ClID SeqId
1 11
1 12
1 13
1 14
1 15
2 16
2 17
2 18
2 19
3 110
3 111
3 112
3 113
SeqBranchTable T2
SeqId BalID
11 1
12 2
13 3
14 4
15 5
16 6
17 7
18 8
19 9
110 10
111 11
112 12
113 13
Balancetable T3
BalID Balance
1 30000
2 26789
3 23456
4 12345
5 21234
6 12456
7 45632
8 23456
9 99999
10 12345
11 21234
12 12456
13 45632
결과는 다음
01,235 16,ClID SeqID Balance
1 1 30000
2 9 99999
3 4 45632
나는이 방법으로 시도했지만 위의 쿼리 결과는 다음과 같다 나를
SELECT RS.Investigationid,MAX(stt.sequenceid) 'SeqId', T.HighestBalance 'Balance'
FROM ClientSeqTable T1, SeqBranchTable T2, branbaltable t3,
(SELECT t1.clid ,MAX(T3.Balance) 'HighestBalance'
FROM ClientSeqTable T1, SeqBranchTable T2, branbaltable t3,
WHERE t1.seqid = T2.seqID
AND T2. balId= T3. balId
GROUP BY RS.Investigationid,stt.SequenceId
) T
WHERE T2.balId = T3.BalId
AND T1.SeqId = T2.SeqId
AND T3.HighestBalance = T2.balance
AND T1.clID = t.ClID
GROUP BY T1.ClID
을 위해 작동하지 않았다.
ClID SeqNu Bal
1 1 30000
1 2 30000
1 3 30000
1 4 30000
1 5 30000
2 3 99999
2 4 99999
2 1 99999
2 9 99999
3 2 45632
3 5 45632
3 3 45632
3 4 45632
예제 검색어가 데이터 예와 일치하지 않습니다. T1.SeqId가 쿼리에 표시되지만 데이터 예제에는 표시되지 않습니다. –
T1은 T2와 어떻게 관련이 있으며 T2는 T3과 어떤 관련이 있습니까? –
t1.seqid = T2.seqID & T2. branchId = T3. branchId –