我遇到了一些麻煩,在不同的表比較的相關數據,我會很感激得到下面的話題有些幫助。不幸的是,我不確定DBS是什麼(儘管沒有什麼優勢),但是在IBM硬件上運行它。因此,爲了簡化數據集:SQL選擇性分組
發票
Doci Sumi
1005 10
1006 15
1007 7
1008 20
付款
Docp Sump
1006 -15
1005 -4
1005 -6
1007 -7
的目的是比較兩個表,並查看是否有匹配 - 本質上,如果發票金額已覆蓋付款與否。對我來說,第一件新事情是比較另一個圖表中負數值的數字數據,但是讓它與-1乘數一起工作。
剩下的問題,我不能真正拿出一個解決方案基本上使查詢瞭解記錄/發票號1005是覆蓋,只有兩個交易。基本上,結果應該只是發票編號1008,因爲它在支付表中沒有匹配。
我確實最終審查了SQL集合函數,即SUM,但是實際上並沒有弄清楚如何利用它,因爲我不想總結整個Sump列中的值,但只有那些具有相同記錄的值在Docp專欄中。
到目前爲止,我已經是這樣的:
SELECT * from INVOICES
inner join PAYMENTS on INVOICES.Doci = PAYMENTS.Docp
where Sumi <> (Sump*-1)
所以,這個查詢的工作來,我不會得到記錄,例如在結果1006和1007的範圍內,但我得到1005,爲看似值10相比4,而不是4 + 6
提前任何反饋非常感謝!
再來想想,我真的不太清楚您想要的結果 –