+ -
当前位置:首页 → 问答吧 → 有难度的update语句,请懂得SQL的高手帮忙

有难度的update语句,请懂得SQL的高手帮忙

时间:2011-03-20

来源:互联网

有难度的命令,请懂得SQL的高手帮忙
目的:如果t_bp_shop表的classid字段前五位数,等于t_bp_class表的classid字段,就把t_bp_class表的classid字段和name_class内容复制到t_bp_shop表中的该商品的“trademark”字段内!
我改写下面的命令不行,请帮忙修改能够达成上面的目的
update   A.trademark=b.classid+'-'+b.name_class  
From T_bp_shop a,t_bp_class b
WHERE (A.substring(classid,1,5) from a)=B.classid

作者: kw868   发布时间: 2011-03-20

如果是ACCESS就用
update t_bp_shop left join t_bp_class on left(t_bp_shop.classid,5)= t_bp_class.classid set t_bp_shop.trademark=t_bp_class.classid+'-'+t_bp_class.name_class

如果是SQL SERVER,就得改用 UPDATE   FROM 的语句,方法自己查!

作者: marco   发布时间: 2011-03-21

B表的classid如果是数字型,那肯定会出错,看你的语句把A表的claseeid取前5位之后变成string了,那会使比较的类型不匹配的。

作者: 阿莼   发布时间: 2011-03-21