sql 中根据多表之间的条件删除和更新记录的示例

--更新记录

Update t1 SET t1.FAuxQty=t1.FAuxQty+t2.FAuxQty,  t1.FSecQty=t1.FSecQty+t2.FSecQty, 
t1.FAmount=t1.FAmount+t2.FAmount,  t1.FPlanAmount=t1.FPlanAmount+t2.FPlanAmount,
 t1.FAuxPrice=CASE WHEN (t1.FAuxQty+t2.FAuxQty)<>0 then  (t1.FAmount+t2.FAmount)/(t1.FAuxQty+t2.FAuxQty) ELSE t1.FAuxPrice END,
 t1.FProcessPrice=CASE WHEN (t1.FAuxQty+t2.FAuxQty)<>0 then  (t1.FProcessCost+t2.FProcessCost)/(t1.FAuxQty+t2.FAuxQty) ELSE t1.FProcessPrice END,
 t1.FConsignAmount=t1.FConsignAmount+t2.FConsignAmount, 
t1.FMaterialCost=t1.FMaterialCost+t2.FMaterialCost, 
t1.FProcessCost=t1.FProcessCost+t2.FProcessCost, 
t1.FTaxAmount=t1.FTaxAmount+t2.FTaxAmount,
 t1.FConsignPrice=CASE WHEN (t1.FAuxQty+t2.FAuxQty)<>0 then  (t1.FConsignAmount+t2.FConsignAmount)/(t1.FAuxQty+t2.FAuxQty) ELSE t1.FConsignPrice END
 FROM ICStockBillEntry t1,#CombineBillEntry t2
 WHERE t1.FInterID=t2.FInterID  AND t1.FOrgBillEntryID=t2.FOrgBillEntryID  AND t1.FItemID=t2.FItemID

--删除记录
 DELETE t1 FROM #CombineBillEntry t1,ICStockBillEntry t2  WHERE t1.FInterID=t2.FInterID  AND t1.FOrgBillEntryID=t2.FOrgBillEntryID  AND t1.FItemID=t2.FItemID

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值