Angenommen, ich habe 2 Tabellen T1
und T2
wie folgt
T1
:
T2
:
Jeder Eintrag in der Tabelle T1
steht für einen Beutel und seine Kapazität, hier habe ich 5 Beutel. Ich möchte eine SQL schreiben, die Elemente in der Tabelle T2
jedem Beutel mit demselben Typ zuweist, d. H. Das Ergebnis sollte wie folgt aussehen
Daher finde ich eine Art Aggregationsfunktion, nennen wir sie allocate()
, die wie oben die Spalte allocated_amount
erzeugen kann. Ich habe eine Vermutung, dass es, falls vorhanden, möglich ist so benutzt werden
Meine derzeitige Lösung ist die Verwendung einer temporären Tabelle und einer PL / SQL-Schleife für die Berechnung, aber ich hoffe, dass ich es mit einem einfachen SQL machen kann.
Sie suchen nach einer kumulativen Summe. Etwas wie das:
%Vor%Annahme Zuteilung in der abgeleiteten Reihenfolge der Beutelkapazität
%Vor%Beachten Sie, dass die Reihenfolge der Zuweisung wichtig ist, wenn Sie die Abfallkapazität minimieren möchten und eine optimale Zuordnung mit verschiedenen Aufträgen schwierig sein könnte.
Tags und Links sql oracle aggregate-functions oracle11g data-warehouse