Wybór najwyższego numeru Seq przez zagnieżdżone łączenie

Chciałbym przyjąć największy numer sekwencyjny dla każdego identyfikatora klienta (największy numer kolejny zostanie obliczony na podstawie najwyższego salda konta bankowego).

Ta tabela ma 100000 rekordów.

Tabele

ClientSeqTable T1

<code>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         
</code>

SeqBranchTable T2

<code>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
</code>

Balancetable t3

<code>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
</code>

Wynik byłby

<code>ClID              SeqID          Balance  
1                 1              30000  
2                 9              99999  
3                 4              45632
</code>

Próbowałem w ten sposób, ale nie działało dla mnie

<code>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
</code>

Z powyższymi wynikami zapytania są następujące.

<code>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
</code>

questionAnswers(2)

yourAnswerToTheQuestion