Sto tentando di aggiornare un campo in una tabella da un altro campo in una tabella diversa.Aggiorna il campo 1 in una tabella da un altro campo in una tabella diversa (OS400, non una relazione 1 a 1)
La tabella che si aggiorna avrà più record che richiedono l'aggiornamento da 1 corrispondenza nell'altra tabella.
Esempio, ho un file di cronologia vendite di 1 milione di righe. Quei milioni di dischi hanno approssimativamente 40.000 codici sku diversi, ogni riga ha un timbro data e ora. Ogni sku avrà più record in là.
Ho aggiunto un nuovo campo chiamato MATCOST (costo del materiale).
Ho una seconda tabella contenente SKU e MATCOST.
Quindi voglio timbrare ogni riga nella tabella 1 con il MATCOST corrispondente della tabella in tabella2. Non riesco a raggiungere questo risultato quando non è una relazione 1 a 1.
questo è quello che provato:
update
aulsprx3/cogtest2
set
matcost = (select Matcost from queryfiles/coskitscog where
aulsprx3/cogtest2.item99 = queryfiles/coskitscog.ITEM)
where
aulsprx3/cogtest2.item99=queryfiles/coskitscog.ITEM
Ma che genera l'errore SQL: Qualificatore colonna o tavolo COSKITSCOG indefinito ed evidenziando il q nell'ultima riferimento alla queryfiles/coskitscog.Item
Qualche idea ?
Cordiali saluti
Adam
Update: Questo è ciò che i miei tavoli sembrano in linea di principio. 1 Tabella contiene i dati di vendita, l'altro contiene MATCOSTS per gli articoli venduti. Devo aggiornare la tabella dei dati di vendita (COGTEST2) con i dati della tabella COSKITCOG. Non riesco a usare un'istruzione di coalescenza perché non è una relazione 1 a 1, la maggior parte delle funzioni selezionate che uso risultano nell'errore di selezioni multiple. L'unico campo corrispondente è Articolo = Articolo
Non riesco a trovare un modo per abbinare multipli. Nell'esempio dovremmo usare 3 istruzioni SQL e solo specificare il codice articolo. Ma in diretta ho circa 40.000 codici articolo e oltre un milione di record di dati di vendita da aggiornare. Se SQL non lo farà, suppongo che dovrei provare a scriverlo in un programma RPG, ma per il momento è molto al di là di me.
Grazie per l'aiuto che puoi fornire.
Qualcun altro offre assistenza? –