update外联表,用另一个表数据更新本表数据

update s set s.classbid = lc.itemid
from    dbo.Lv_servers as s INNER JOIN

                      dbo.Lv_LineChannel as lc ON s.Classsid = lc.ClassId where s.classbid >0 

 SQL用另外一个表的数据更新本表数据,两个表的关系要写在from的后面表的别名也要写在这里,写在update后面是不行的,update后面跟着要更新的表,至于同时更新两表的数据暂时没有用过就 不知道了。

更新分类族谱    convert(nvarchar, s.id) int 转成nvarchar

/*更新一级分类*/
update  T_Category set family=','+convert(nvarchar, id) +',' where lv=0
/*更新二级分类*/
update s set s.family = ','+convert(nvarchar, s.id) +sc.family
from dbo.T_Category as s left JOIN dbo.T_Category as sc ON s.headid = sc.id where s.lv =1
/*更新三级分类*/
update s set s.family = ','+convert(nvarchar, s.id) +sc.family
from dbo.T_Category as s left JOIN dbo.T_Category as sc ON s.headid = sc.id where s.lv =2

原文地址:https://www.cnblogs.com/irelands/p/3449561.html