異なるテーブルの関連するデータを比較する際に問題が発生しましたので、以下のトピックについて少し助けていただきたいと思います。残念ながら、私はDBSが何であるか分かりませんが(何も最先端はありません)、IBMのハードウェア上で実行しています。基本的に請求額がでカバーされている場合 - 目的は2つのテーブルを比較し、一致があるかどうかを確認することですSQLの選択的グループ化
INVOICES
Doci Sumi
1005 10
1006 15
1007 7
1008 20
支払い
Docp Sump
1006 -15
1005 -4
1005 -6
1007 -7
:だからデータセットを簡単にするために、支払いの有無最初の新しいことは、他のチャートの負の値にある数値データを比較することでしたが、-1の乗数で動作するようにしました。
私が実際に解決策を思い付くことができない残りの問題は、本質的に、レコード/請求書なし1005が2つのトランザクションでカバーされていることをクエリに理解させることです。基本的に結果は支払いテーブルに一致するものがないため、請求書番号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 + 6の代わりに4と比較されます。
フィードバックには前もって感謝します!
はそれについて考えるために来て、私はあなたの希望の結果に本当に明確ではありませんよ –