| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:别名在 update 中的应用
取消只看楼主 加入收藏
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
别名在 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))
搜索更多相关主题的帖子: update 
2014-04-15 21:43
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
以下是引用liuxingang28在2014-4-16 08:12:35的发言:

原文中的 UPDATE stdcost t1 SET t1.mat =t2.mat from itemcost t2 on t1.pn =t2.pn 应改写为:UPDATE stdcost SET mat =t2.mat from itemcost t2 on stdcost.pn =t2.pn



谢谢你的回复,在这个地方就提示mat不唯一,因为这两张表stdcost 和itemcost的格式一模一样。
2014-04-16 08:40
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
新手来着,很多都没弄明白,在百度上找了好久,都没有人涉及别名的update,所以出来问问看。
2014-04-16 14:07
快速回复:别名在 update 中的应用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030988 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved