Ich versuche, ein Feld in einer Tabelle aus einem anderen Feld in einer anderen Tabelle zu aktualisieren.Update 1 Feld in einer Tabelle aus einem anderen Feld in einer anderen Tabelle (OS400, keine 1 zu 1 Beziehung)
Die zu aktualisierende Tabelle enthält mehrere Datensätze, die von 1 Übereinstimmung in der anderen Tabelle aktualisiert werden müssen.
Beispiel, ich habe eine 1 Million Zeilen Umsatz-History-Datei. Diese Millionen Datensätze haben ungefähr 40.000 verschiedene Sku-Codes, jede Zeile hat einen Datums- und Zeitstempel. Jeder SKU enthält mehrere Datensätze.
Ich habe ein neues Feld namens MATCOST (Materialkosten) hinzugefügt.
Ich habe eine zweite Tabelle mit SKU und MATCOST.
Also ich möchte jede Zeile in Tabelle 1 mit dem MATCOST der entsprechenden SKU in Tabelle2 stempeln. Ich kann das scheinbar nicht erreichen, wenn es keine 1: 1-Beziehung ist.
Dies ist, was ich versucht habe:
update
aulsprx3/cogtest2
set
matcost = (select Matcost from queryfiles/coskitscog where
aulsprx3/cogtest2.item99 = queryfiles/coskitscog.ITEM)
where
aulsprx3/cogtest2.item99=queryfiles/coskitscog.ITEM
Aber das führt zu der SQL-Fehler: Spalte Qualifier oder Tabelle COSKITSCOG undefiniert und Hervorhebung der q in den letzten Verweis auf queryfiles/coskitscog.Item
Irgendwelche Ideen ?
Mit freundlichen Grüßen
Adam
Update: Das ist, was meine Tabellen wie im Prinzip aussehen. 1 Tabelle enthält die Verkaufsdaten, die andere enthält die MATCOSTS für die verkauften Artikel. Ich muss die Verkaufsdatentabelle (COGTEST2) mit den Daten aus der COSKITCOG-Tabelle aktualisieren. Ich kann eine Koaleszenzanweisung nicht verwenden, da es keine 1: 1-Beziehung ist, die meisten ausgewählten Funktionen, die ich verwende, führen zu dem Fehler von mehreren Auswahlen. Das einzige übereinstimmende Feld ist Item = Item99
Ich finde keine Möglichkeit, mehrere zu vergleichen. Im Beispiel müssten wir 3 SQL-Anweisungen verwenden und nur den Artikelcode angeben. Aber im Leben habe ich etwa 40.000 Artikelcodes und über eine Million Verkaufsdatensätze zu aktualisieren. Wenn SQL es nicht tut, nehme ich an, dass ich versuchen müsste, es in einem RPG-Programm zu schreiben, aber das ist im Moment für mich alles andere als einfach.
Vielen Dank für Ihre Hilfe.
Bietet noch jemand Hilfe an? –