sql 2005 update问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:19:05
update pu
set pu.pu_date = pude_b.need_date
from pude_b pu
where pude_b.pu_no = pu.pu_no
消息 4104,级别 16,状态 1,第 1 行
无法绑定由多个部分组成的标识符 "pude_b.pu_no"。
可以的追加100分

update pu
set pu.pu_date = pude_b.need_date
from pude_b,pu
where pude_b.pu_no = pu.pu_no

如果不加逗号的话
电脑会把pu当成pude-b的简称来处理
就会报‘无法绑定由多个部分组成的标识符’

update pu
set pu.pu_date =
(
select pude_b.need_date
from pude_b
where pude_b.pu_no = pu.pu_no
);

update pu1,pu2 set pu1.pu_date=pu2.need_date from pude_b pu1,pude_b pu2 where pu1.pu_no = pu2.pu_no;

update pu
set pu.pu_date = pude_b.need_date
from pude_b
where pude_b.pu_no = pu.pu_no
这样就可以了,意思就是根据pude_b的need_date来更新pu的pu_date

update pu
set pu.pu_date = pude_b.need_date
from pude_b,pu
where pude_b.pu_no = pu.pu_no

在from后面的俩表中间加个逗号

你要的效果是一个表的某列值给另一表的一列吧

更新语句不是那样用的
而且你要的效果也不是那么容易实现的
需要用到游标 估计你还没接触到

不过 看你的表像不是

如果不是那就简单了
update pude_b
set pu_date = need_date
where pu_no = pu_no

但是我就不明白你的条件说明意思
没必要给条件嘛

楼主还是把表给出来好点
不然都不晓得你的