Ich habe Probleme, die zugehörigen Daten in verschiedenen Tabellen zu vergleichen. Ich wäre sehr dankbar, wenn Sie Hilfe zum unten stehenden Thema erhalten. Leider bin ich mir nicht sicher, was das DBS ist (nichts Schnittriges), aber es läuft auf IBM Hardware. So vereinfacht den Datensatz:SQL selective grouping
RECHNUNGEN
Doci Sumi
1005 10
1006 15
1007 7
1008 20
ZAHLUNGEN
Docp Sump
1006 -15
1005 -4
1005 -6
1007 -7
Ziel zwei Tabellen zu vergleichen und sehen, ob es eine Übereinstimmung gibt - im Wesentlichen, wenn der Rechnungsbetrag abgedeckt wurde in die Zahlungen oder nicht. Die erste neue Sache für mich war, die numerischen Daten zu vergleichen, die in dem anderen Diagramm negative Werte haben, aber es mit dem -1-Multiplikator arbeiten zu lassen.
Das verbleibende Problem, für das ich nicht wirklich eine Lösung finden kann, besteht im Wesentlichen darin, die Abfrage zu verstehen, dass Datensatz/Rechnung Nr. 1005 abgedeckt ist, nur mit zwei Transaktionen. Im Wesentlichen sollte das Ergebnis nur Rechnungsnummer 1008 sein, da es in der Zahlungstabelle keine Übereinstimmung gibt.
Ich habe am Ende Überprüfung SQL-Aggregatfunktionen und nämlich SUM, aber wirklich nicht herausfinden, wie man es verwenden, da ich nicht Werte in der gesamten Sump-Spalte zusammenfassen möchte, sondern nur diejenigen, die eine identische Aufzeichnung haben in der Docp-Spalte.
Bisher, was ich habe, ist dies:
SELECT * from INVOICES
inner join PAYMENTS on INVOICES.Doci = PAYMENTS.Docp
where Sumi <> (Sump*-1)
Also, diese Abfrage in dem Maße funktioniert, dass ich Aufzeichnungen nicht wie 1006 und 1007 im Ergebnis bekommen, aber ich 1005 bekommen, als scheinbar Wert 10 wird mit 4 anstelle von 4 + 6 verglichen.
Vielen Dank im Voraus für jede Rückmeldung!
darüber nachdenken Komm, ich bin wirklich nicht klar, auf die gewünschten Ergebnisse –