Dabei könnte es so einfach sein:
Oha. Dann nehme ich Dich mal beim Wort.
Ein paar Beispieldatensätze in der alten Tabelle, hübsch tabellarisch, und die daraus resultierenden gewünschten Datensätze für die neue Tabelle
Alte Tabelle:
(Ich habe alt.bestellnummer in alt.produktnummer umbenannt.)
alt.produktname alt.produktnummer alt.regalnummer alt.fachnummer
Knüsperdü 23 1 2
Knüsperdü 3 8
Pustekuh 5 2
Rattelfix 42 5
Sausemaus 1 4
Sausemaus 3 6
Sausemaus 3
Neue Tabellen:
Regale
------
regal.id: Neue Seriennummer
regal.alt = alt.regalnummer
regal.id regal.alt (weitere Spalten ohne Belang)
1 1
2 3
3 5
Wir haben in dieser Tabelle also die Zuordnung Alte Regalnummer (regal.alt) - Neue Regalnummer (regal.id).
Fächer
------
fach.id: Neue Seriennummer (jetzt global eindeutig, nicht nur pro Regal)
fach.alt = alt.fachnummer
fach.regal <-> regal.id
fach.id fach.alt fach.regal (weitere Spalten ohne Belang)
1 2 1
2 4 1
3 8 2
4 2 3
5 6 2
Auch in dieser Tabelle wieder die Zuordnung Alte Fachnummer (fach.alt) - Neue Fachnummer (fach.id). Zusätzlich haben wir die Zuordnung Fachnnummer - Regalnummer.
Produktdaten
------------
produkt.id = Neue Seriennummer (jetzt für alle Produkte ein Eintrag)
produkt.name = alt.produktname
produkt.alt = alt.produktnummer
produkt.id produkt.name produkt.alt (weitere Spalten ohne Belang)
1 Knüsperdü 23
2 Knüsperdü
3 Pustekuh
4 Rattelfix 42
5 Sausemaus
Diese drei Tabellen, Regale, Fächer und Produktdaten, konnte ich bereits mit je einer join/select-Anweisung befüllen. Es geht jetzt darum, dieses Kunststück auch mit der vierten Tabelle zu vollbringen, so überhaupt möglich:
Lagerbestand
------------
neu.produktid <-> produkt.id (-> produkt.alt = alt.produktnummer)
neu.regalid <-> regal.id (-> regal.alt = alt.regalnummer)
neu.fachid <-> fach.id (-> fach.alt = alt.fachnummer)
neu.info = Teil aus alt.produktname
neu.produktid neu.regalid neu.fachid neu.info
1 1 1 Knüsperdü
2 2 3 Knüsperdü
3 3 4 Pustekuh
4 3 Rattelfix
5 1 2 Sausemaus
5 2 5 Sausemaus
5 2 Sausemaus
PS: Bitte nicht damit aufhalten, die Tabellenstruktur zu überarbeiten - das soll so sein. Mir ist bewusst, dass Beispiel bei der scheinbar / teils überflüssigen neu.regalid-Spalte hinkt. Aber: Es geht nur um das, was ich bereits eingangs und im Titel angesprochen habe.