我試圖從另一個表中的另一個字段更新表中的字段。從另一個表中的另一個字段(OS400,而不是1對1的關係)中更新1字段
正在更新的表將有多個記錄,需要從另一個表中的1個匹配更新。
例如,我有一個100萬行銷售歷史文件。這百萬條記錄大約有40,000個不同的SKU代碼,每行都有日期和時間戳。每個SKU將在那裏有多個記錄。
我添加了一個名爲MATCOST(材料成本)的新字段。
我有第二個表包含SKU和MATCOST。
所以我想在表1中的每一行與相應的SKU的MATCOST在表2中戳記。當它不是1對1的關係時,我似乎無法實現這一點。
這是我曾嘗試:
update
aulsprx3/cogtest2
set
matcost = (select Matcost from queryfiles/coskitscog where
aulsprx3/cogtest2.item99 = queryfiles/coskitscog.ITEM)
where
aulsprx3/cogtest2.item99=queryfiles/coskitscog.ITEM
但是,這導致SQL錯誤:列限定符或表COSKITSCOG不確定,並強調在最後一個引用queryfiles的Q/coskitscog.Item
有任何想法嗎 ?
最親切的問候
亞當
更新:這是我的表像原則。 1表包含銷售數據,另一個表包含銷售商品的MATCOSTS。我需要使用COSKITCOG表中的數據更新銷售數據表(COGTEST2)。我不能使用coalesce語句,因爲它不是1對1的關係,我使用的大多數選擇函數都會導致多個選擇的錯誤。唯一匹配的字段是Item = Item99
我找不到匹配多個的方法。在這個例子中,我們將不得不使用3個SQL語句,只需指定項目代碼。但在現場,我有大約40,000個產品代碼和超過100萬個銷售數據記錄進行更新。如果SQL不會這樣做,我想我不得不嘗試在RPG程序中寫入它,但現在這種方式超過了我。
感謝您提供的任何幫助。
其他人提供任何幫助? –