我有一个PervasiveSQL DB,其表带有StoreCode列出的项目销售成本。数据看起来像下面的数据
StoreCore ItemCode LastPurchAmt
001 2201 78.75
002 2201 75.0
003 2201 75.0
05 2201 0.0
07 2201 75.0
08 2201 78.75
09 2201 75.0
10 2201 75.0
他们要求我将每个商品的LastPurchAmt =设置为001商店的LastPurchAmt。
我已经阅读了更多的更新示例,并为更新语句尝试了更多的变体,但我似乎并不记得。
此声明:
Update MultiStoreTrn as UpdateTrn
join (select ItemCode, LastPurchAmt from MultiStoreTrn where StoreCode = '001') as ValueTrn
on UpdateTrn.ItemCode = ValueTrn.ItemCode
set UpdateTrn.LastPurchAmt = ValueTrn.LastPurchAmt
where UpdateTrn.StoreCode <> '001';
返回错误消息:
[LNA] [无处不在] [ODBC引擎接口]必须指定表或视图名称以进行更新。
此代码:
Update MultiStoreTrn as UpdateTrn
set UpdateTrn.LastPurchAmt = (Select LastPurchAmt from MultiStoreTrn where StoreCode = 001 and ItemCode = UpdateTrn.ItemCode);
有效,但会将所有值更新为零
我也尝试过以下代码:
Update MultiStoreTrn
set MultiStoreTrn.LastPurchAmt = ValueTrn.LastPurchAmt
from (select ItemCode, LastPurchAmt from MultiStoreTrn where storecode = 001) as ValueTrn
where MultiStoreTrn.StoreCode <> 001 and MultiStoreTrn.ItemCode = ValueTrn.ItemCode;
它运行没有错误,但是没有更新。
任何想法我想念的是什么:(
感谢您的阅读和回答时间...