我想爲每個客戶端編號採用最大序列號(最大序列號將根據最高銀行賬戶餘額計算)。通過嵌套加入選擇最高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
結果將是
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顯示在您的查詢中,但不顯示在您的數據示例中! – 2012-04-25 17:31:37
T1與T2的關係如何?T2與T2的關係如何? – 2012-04-25 17:32:59
t1.seqid = T2.seqID&T2。 branchId = T3。 branchId – 2012-04-25 17:38:00