Zitat Zitat von UFK Beitrag anzeigen
Ich denke, Du meinst das erste Lager, das Bestand hat. Ist es dabei wichtig, wie groß dieser Bestand ist, und kann es sein, daß evtl. doch beide Lager herhalten müssen, wenn keines für sich genug Bestand hat ?


Ich denke da eher ein eine Stored-Procedure oder UserDefinedFunction, die dynamisch als Ergebnis genau diese Tabelle liefert.

Wenn Du die Menge nicht variabel abfragen mußt, sondern z.B. nur einen Mindestbestand abfragst, der selber auch gespeichert ist, (oder einfach "gibt es überhaupt irgendeinen Bestand > 0 ?&quot, würde ich zwei Unterabfragen formulieren, und sie in der Hautptabfrage miteinander korrelieren. Also

A: gibt es Bestand in Lager A und
B: gibt es Bestand in Lager B, wenn der A.Bestand 0 oder zu klein ist, ...

So eine Korrelation kann auch als View angelegt werden, läuft aber immer etwas langsamer als ein simples SELECT. Sie ist gut für Einzelabfragen (Ordermenge x zu Auftrag a und Produkt p), aber für Massenabfragen evtl. etwas langsam.

Das schnellste ist natürlich ein UNION (der evtl. 2 Zeilen liefert) oder ein JOIN, soweit es eine genau bekannte Anzahl von Lagern gibt. In dem JOIN könnest Du z.B. den größten Bestand und die betreffende Lagernummer nennen.

Wege gibts also sehr viele. Man bräuchte mehr Infos über Deine Aufgabenstellung ...
Also mit stored -procedure etc. habe ich mich noch nie beschäftigt. Der Union ist genau das was ich nicht brauche, weil ich dann 2 Zeilen habe, ich benötige schon den join der mir z.B. die größte Menge zurück gibt. Vielleicht kannst Du mir ja sagen wie der Join aussehn muß wenn die Felder z.B. Firma/Lager/Artikel/Menge wären und ich halt den einen! Satz mit der größeren Menge habe will. Das Problem bei 2 Sätzen ist halt das dann alle Felder 2 mal da sind, sprich auch die aus den anderen Dateien. GG