Mengen Verteilung

Ruhrpott

Neuer Benutzer
Beiträge
2
Hallo Miteinander
Ich komme mit folgender Problematik unter MySQL nicht weiter.
Einfach dargestellt geht es um zwei Tabellen.

Tabelle 1
T1id
Menge

Tabelle2
T2id
T1id
Bestellmenge

Tabelle 1 führt die Bestandsmengen

Zb
T1id 1
Menge 3

Tabelle 2 führt die Bestellungen. Nehmen wir an es sind 6 Bestellungen für die T1id in 6 Datensätzen a Menge 1 gespeichert.
Die Zuteilung beim Versand erfolgt nach Eingang der Bestellung - hier t2id.
Wie kann ich beim anzeigen der Bestellung für den Kunden herausfinden ob seine Bestellung sofort lieferbar ist. Das wäre ja nur bei den ersten 3 Kunden der Fall .

Danke für Ansetzte...ich Dreh mich da gerade....obwohl ich es vor x tausend Jahren in ms SQL schon mal gelöst hatte
 
Werbung:
Code:
test=*# create table t1(id int primary key, menge int);
CREATE TABLE
test=*# create table t2 (id int primary key, t1_id int references t1, bestellmenge int);
CREATE TABLE
test=*# insert into t1 values (1, 3);
INSERT 0 1
test=*# insert into t2 values (1,1,1);
INSERT 0 1
test=*# insert into t2 values (2,1,1);
INSERT 0 1
test=*# insert into t2 values (3,1,1);
INSERT 0 1
test=*# insert into t2 values (4,1,1);
INSERT 0 1
test=*# insert into t2 values (5,1,1);
INSERT 0 1
test=*# insert into t2 values (6,1,1);
INSERT 0 1
test=*# select *, case when sum(t2.bestellmenge) over (order by t2.id) <= t1.menge then 'lieferbar' else 'nicht lieferbar' end as lieferfähig from t2 left join t1 on t2.t1_id=t1.id order by t2.id;
 id | t1_id | bestellmenge | id | menge |  lieferfähig   
----+-------+--------------+----+-------+-----------------
  1 |  1 |  1 |  1 |  3 | lieferbar
  2 |  1 |  1 |  1 |  3 | lieferbar
  3 |  1 |  1 |  1 |  3 | lieferbar
  4 |  1 |  1 |  1 |  3 | nicht lieferbar
  5 |  1 |  1 |  1 |  3 | nicht lieferbar
  6 |  1 |  1 |  1 |  3 | nicht lieferbar
(6 Zeilen)

test=*#
test=*#

Das sollte in MS SQL funktionieren, nicht aber in MySQL. Somit ist erklärt, warum Du das in MSSQL mal hinbekommen hast, nicht aber in MySQL.
 
Ok das klingt logisch, jedoch hab ich hier nicht die Wahl der Datenbank und muss es unter den gegebenen Bedingungen lösen.
Gibt es da keinen work around
 
Werbung:
Zurück
Oben