Próbuję zaktualizować pole w tabeli z innego pola w innej tabeli.Zaktualizuj 1 pole w tabeli z innego pola w innej tabeli (OS400, a nie relacji 1 do 1)
Zaktualizowana tabela będzie zawierała wiele rekordów, które wymagają aktualizacji od 1 dopasowania w drugiej tabeli.
Przykład, mam plik historii sprzedaży o wartości 1 miliona wierszy. Te miliony rekordów mają około 40 000 różnych kodów sku, każdy wiersz ma datę i godzinę. Każdy sku będzie miał tam wiele rekordów.
Dodałem nowe pole o nazwie MATCOST (koszt materiałowy).
Mam drugą tabelę zawierającą SKU i MATCOST.
Więc chcę pieczęć każdego wiersza w tabeli 1 z odpowiednim MATCOST SKU w table2. Nie mogę tego osiągnąć, gdy nie ma związku 1 do 1.
To co próbowałem:
update
aulsprx3/cogtest2
set
matcost = (select Matcost from queryfiles/coskitscog where
aulsprx3/cogtest2.item99 = queryfiles/coskitscog.ITEM)
where
aulsprx3/cogtest2.item99=queryfiles/coskitscog.ITEM
Ale to prowadzi do błędu SQL: kwalifikator kolumny lub tabeli COSKITSCOG niezdefiniowane i podkreślając q w odniesieniu do ostatniego queryfiles/coskitscog.Item
Jakieś pomysły ?
poważaniem
Adam
Aktualizacja: To jest to, co moi stoły wyglądają w zasadzie. 1 Tabela zawiera dane sprzedaży, druga zawiera MATCOSTS dla sprzedanych produktów. Muszę zaktualizować tabelę danych sprzedaży (COGTEST2) danymi z tabeli COSKITCOG. Nie mogę użyć instrukcji koalescencji, ponieważ nie jest to relacja 1 do 1, większość wybranych funkcji powoduje błąd wielu wyborów. Jedynym pasującym polem jest Item = Item99
Nie mogę znaleźć sposobu na dopasowanie wielu. W tym przykładzie będziemy musieli użyć 3 instrukcji SQL i po prostu podać kod przedmiotu. Ale na żywo mam około 40 000 kodów pozycji i ponad milion rekordów danych sprzedaży do aktualizacji. Jeśli SQL tego nie zrobi, przypuszczam, że musiałbym spróbować napisać to w programie RPG, ale to na razie poza mną.
Dziękujemy za pomoc.
Ktoś jeszcze oferuje pomoc? –