Einzelnen Beitrag anzeigen

hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Oracle: Spaltenwert über 2 Ebenen in Subqueries durchreichen

  Alt 21. Jun 2017, 05:21
Also diese Art Subselects sind mir immer suspekt.
Wieso lagerst Du das nicht in die normale From Clause mit klassischen Joins usw.
Natürlich muss dann das Schlüsselfeld mit selektiert werden und gegrouped.

Ach und nochwas:
ist das ein Statement für einen Report (also viele Daten) oder für eine Einzeldarstelleung (also bspw per Auswahl Artikelnummer/ Vorgangsnummer)
Das Statement ist für einen Report gedacht, also viele Artikel und viele Bestelldaten, die gegeneinander geprüft werden müssen.

Allerdings ist mir dein Ansatz zur Lösung nicht ganz klar. Ich brauche zum Schluss zu jedem Artikel der Hauptauswahl (die dort natürlich noch durch zusätzliche Selektionen gefiltert werden) zum Zeitpunkt eines Einkaufsvorganges die theoretische Deckungsmenge, also die Summe aller Lagerzu- und abgänge aus verschiedenen anderen Objekten.

Das sieht für mich nach WITH-Clause aus.

Damit lassen sich "im Vorübergehen" Unterabfragen mit Namen versehen, die sich im Weiteren wie eine Tabelle oder View ansprechen lassen.
An WITH hatte ich auch schon gedacht, habe allerdings noch keine Erfahrung damit gemacht. Dadurch hatte ich keine Idee, wie ich das Datum dort unterbringe, nun sehe ich etwas klarer und werde es mal ausprobieren.

SQL-Code:
                 select ek.artikel_nr as Artikel,
                       (ek.menge_soll - ek.menge_lager_ist - ek.menge_wareneingang_ist) as Menge,
                       ek.bestaetigter_termin as Datum
                 from pekp ek
                 where ek.artikel_nr = kp.artikel_nr
                   and ek.bestaetigter_termin < kp.bestaetigter_termin ---<< woher soll denn dieses Datum kommen? da ek=kp ist die Bedingung nie erfüllt???????
Gruß K-H
Nein, ek und kp sind zwar dieselbe Tabelle, aber unterschiedliche Datensätze daraus. Die EK-Sätze sind kurz gesprochen alle Bestellungen, die vor der zu untersuchenden Bestellung liegen.

Danke an alle für den bisherigen Input!

Edit: Habe es jetzt mit WITH gelöst bekommen. Nochmals Dank für den Hinweis!

Geändert von hsg (21. Jun 2017 um 06:15 Uhr) Grund: Problem wurde gelöst
  Mit Zitat antworten Zitat