别名在 update 中的应用
下面这条select语句可以正常使用,可是后面的update语句就不行了,请帮我看看有没有办法解决这个问题。SELECT * FROM stdcost t1 LEFT JOIN itemcost t2 on t1.pn =t2.pn
需要做的就是把stdcost表更新,更新的内容来源于itemcost,这两张表是一模一样,更新的条件就是pn保持一致就ok.
【正常代码】update stdcost set stdcost.mat =itemcost.mat,stdcost.lab=itemcost.lab,stdcost.burden =itemcost.burden ,stdcost.overhead =itemcost.overhead,stdcost.sub =itemcost.sub ,stdcost.price =stdcost.mat+stdcost.lab+stdcost.overhead +stdcost.sub from itemcost where stdcost.pn =itemcost.pn and stdcost.price =0
因为正常代码太复杂,而且看得很晕,所以希望能简化一些,然后想到了用别名,结果就不行。
【简化代码】UPDATE stdcost t1 SET t1.mat =t2.mat from itemcost t2 on t1.pn =t2.pn
creat dbf itemcost(;
pn c(28),;
des c(45),;
type c(18),;
mat n(9,5),;
lab n(9,5),;
burden n(9,5),;
overhead n(9,5),;
sub n(9,5),;
price n(9,5))
creat dbf stdcost(;
pn c(28),;
des c(45),;
type c(18),;
mat n(9,5),;
lab n(9,5),;
burden n(9,5),;
overhead n(9,5),;
sub n(9,5),;
price n(9,5))