Hallo,
ich verzweifele gerade an einer Abfrage. Ich habe in einer Tabelle (DLN1) 2 Felder die ich beide ausgeben möchte. In Echt sind es mehrere Spalten und Tabellen die mit joins verbunden werden - aber der Einfachheithalber habe ich es auf die relevanten Felder & Variablen beschränkt.
DocNum Quantity
13077970 1
13077971 12
13077980 1
13077981 1
13077982 1
13077983 1
13077984 1
13077985 1
13077986 1
13077987 1
13077988 3
13077989 2
13077990 1
Jetzt möchte ich eine Abfrage generieren, der mir beginnend mit der kleinsten DocNum die Mengen (Quantity) zusammenzählt und nur die Datensätze ausgibt die in Summe (@i) einen bestimmten Wert (@menge) nicht überschreiten.
Ich habe es mit folgendem Script gestestet aber kläglich gescheitert
DECLARE
@i int,
@menge int
set @menge = 20
set @i = 0
WHILE (@i < @menge)
BEGIN
select DocNum, Quantity from DLN1
set @i = @i + Quantity
END
Ausgabe sollte bei obigen Parametern/Variablen folgende sein:
DocNum Quantity
13077970 1
13077971 12
13077980 1
13077981 1
13077982 1
13077983 1
13077984 1
13077985 1
Irgenwie bekomm ich das nicht hin.
Geht das überhaupt mit while oder benötige ich einen cursor und wenn ja, wie würde der aussehen.
Danke vorab
ich verzweifele gerade an einer Abfrage. Ich habe in einer Tabelle (DLN1) 2 Felder die ich beide ausgeben möchte. In Echt sind es mehrere Spalten und Tabellen die mit joins verbunden werden - aber der Einfachheithalber habe ich es auf die relevanten Felder & Variablen beschränkt.
DocNum Quantity
13077970 1
13077971 12
13077980 1
13077981 1
13077982 1
13077983 1
13077984 1
13077985 1
13077986 1
13077987 1
13077988 3
13077989 2
13077990 1
Jetzt möchte ich eine Abfrage generieren, der mir beginnend mit der kleinsten DocNum die Mengen (Quantity) zusammenzählt und nur die Datensätze ausgibt die in Summe (@i) einen bestimmten Wert (@menge) nicht überschreiten.
Ich habe es mit folgendem Script gestestet aber kläglich gescheitert
DECLARE
@i int,
@menge int
set @menge = 20
set @i = 0
WHILE (@i < @menge)
BEGIN
select DocNum, Quantity from DLN1
set @i = @i + Quantity
END
Ausgabe sollte bei obigen Parametern/Variablen folgende sein:
DocNum Quantity
13077970 1
13077971 12
13077980 1
13077981 1
13077982 1
13077983 1
13077984 1
13077985 1
Irgenwie bekomm ich das nicht hin.
Geht das überhaupt mit while oder benötige ich einen cursor und wenn ja, wie würde der aussehen.
Danke vorab
Comment