1
我有兩個表A和B: 表A兩個表之間計算在SQL
Txn_amt2 rrn Pan Stan Msg_type
22000 7123344 556677 442233 0200
22000 7123344 556677 442233 0200
22000 7123344 556677 442233 0200
22000 7123344 556677 442233 0200
35200 7178866 223344 989898 0200
67000 7199933 667733 343433 0200
表B
Txn_amt1 rrn Pan Stan Msg_type
89000 7123344 556677 442233 0220
35400 7178866 223344 989898 0220
67100 7199933 667733 343433 0220
我需要找到txn_amt1與txn_amt2的差別或差別sum(txn_amt2)-txn_amt1取決於具體情況 有兩種情況: 1.當表A中txn_amt2列的值彼此相等時(如表a中22000重複4次),我應將這個值在哪裏,潘,斯坦噸A對於重複的值是相等的,之後我必須減去表B的Txn_amt1之和,其中rrn,pan,stan等於兩個表。 2.當txn_amt2不重複自己,這意味着該行只在表A中存在一次,我必須用txn_amt2減去txn_amt1,其中兩個表的rrn,pan,stan相等。
這是查詢被執行 差異之後,我應該期望的結果(txn_amt1 - txn_amt2或總和(txn_amt2)-txn_amt1)
1000
200
100
我需要在SQL或查詢的功能。
感謝您的回答。我編輯查詢,這應該是:SELECT a.rrn,a.Pan,a.Stan, sum(ifnull(b.amt1,0) - ifnull(a.amt2,0))AS amt_diff FROM SELECT RRN,潘,斯坦,總和(Txn_amt2)AS AMT2 從GROUP BY 1,2,3 ),爲 JOIN( SELECT RRN,潘,斯坦,總和(Txn_amt1)AS AMT1 來自組b BY 1,2,3 )AS b ON a.rrn = b.rrn AND a.Stan = b.Stan GROUP BY 1,2,3 –