Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Ergebnis auf einen Datensatz reduzieren

  Alt 31. Mai 2024, 08:55
Danke, läuft aber nicht.
Das ist etwas wenig Info, um Fehler zu korrigieren.

Deine letzter Versuch kann nicht funktionieren, weil die Aufträge und Lieferscheine gemischt anzeigst, wenn ich es richtig sehe. Die Ergebnisse für Aufträge und Lieferscheine müssen getrennt werden.

Wie Uwe schon schrieb, ist das ohne konkrete DB etwas schwierig. Da Uwe und ich ähnliche Ansätze verfolgt haben, hier kurz die Idee, die dahinter steckt, damit du dich ohne unsere Hilfe weiter rantasten kannst:
  • Erstmal alle betroffenen Aufträge mit Positionen selektieren
  • im Subselect die Lieferscheine mit den Positionen passend zu den Auftragspositionen ermitteln
  • Das Subselect darf nur die Summe der Mengen liefern
Den ersten Punkt kannst du sicher alleine hinbekommen. Das Problem ist also nur das Subselect.
Du musst mit Tabellenaliasen arbeiten, damit du die Bedingungen im Subselect sauber mit dem äußeren Select verknüpfen kannst.

Als ersten Ansatz kannst zu einem Ergebnis des Haupt-Selects erstmal eine weiteres Select erstellen, dass dann die richtigen Ergebnisse aus den Lieferscheinen liefert. Daran solltest du erkennen, welche Verknüpfungen im Subselect gesetzt werden müssen. Idealerweise testest du das mit einer Auftragsposition, die mehrere Teillieferungen hatte.

Hinweis am Rande:
Das Sum des Subselects kann NULL-Werte beinhalten. Keine Ahnung was Access damit macht, aber es kann dann sein, dass dort immer NULL rauskommt, sobald einer der Teilwerte NULL ist. Normalerweise habe DBs dafür eine Funktion, die ich aber für Access nicht kenne. Bei meiner DB muss ich Coalesce verwenden
Peter
  Mit Zitat antworten Zitat