a表
xg   sx#
102  10010002b表
gg     s#          
 1   10010002要的结果是
A表sx#和B表的S#对比,截取B表sx#的前3位+0+A表xg   结果
b表
    gg     s#          
10010102   10010002

解决方案 »

  1.   

    select left(b.sx#,3)+'0'+a.xg as gg,a.sx# as s#
    from a,b
    where a.sx#=b.s#
      

  2.   


    update b表
    set gg =left(b.sx#,3)+'0'+a.xg from a表 a where a.sx#=b.sx#
      

  3.   


    update b表
    set gg =left(ltrim(b.sx#),3)+'0'+ltrim(a.xg) from a表 a where a.sx#=b.sx#
      

  4.   

    LZ 的结果是要取sx#的前四位吧,否则结果怎么是10010而不是1000呢?update b表
    set gg =left(b.sx#,3)+'0'+a.xg from a表 a where a.sx#=b.sx#又或者是sx#的前三位+gg+0+A表xgset gg =left(b.sx#,3)+ CAST(gg AS VARCHAR(10)) +'0'+a.xg from a表 a where a.sx#=b.sx#
      

  5.   

    select
        gg,  [s#] = left(b.[sx#],3)+'0'+cast(a.xg as varchar)
    B表sx#的前3位+0+A表xg
    from a, b 
    where a.[sx#] = b.[s#]
      

  6.   

    update b
    set gg =left(ltrim(b.sx#),3)+'0'+ltrim(a.xg) from a a where a.sx#=b.sx#
      

  7.   


    select left(ltrim(b.s#),3)+'0'+ltrim(a.xg) as gg,a.sx# as s#
    from a,b
    where a.sx#=b.s#