desc t_dmxxb 
dmdm
dmmc
sfdm
gjbzupdate t_dmxxb a set a.sfdm=
(select b.dmdm from dmxxb b where a.sfdm=b.dmmc) 
where a.gjbz='0'如上是oracle相同表的的子查询更新,想问要是用sqlserver怎么实现?
谢谢!

解决方案 »

  1.   

    不好意思,原贴错误,t_dmxxb 应该是相同的表
    desc t_dmxxb 
    dmdm
    dmmc
    sfdm
    gjbzupdate t_dmxxb a set a.sfdm=
    (select b.dmdm from t_dmxxb b where a.sfdm=b.dmmc) 
    where a.gjbz='0'如上是oracle相同表的的子查询更新,想问要是用sqlserver怎么实现?
    谢谢!
      

  2.   

    是这样的,0100A是省会,我要把其它地方属于内蒙的sfdm更新为0100A
    dmdm     dmmc       py     sfdm
    0100 呼和浩特   HS 内蒙
    0100A 内蒙   NM  中国
    0101 土默特左旗 TZQ 内蒙
    0111 二连浩特   ELHT 内蒙
    更新之后:
    dmdm     dmmc       py     sfdm
    0100 呼和浩特   HS 0100A
    0100A 内蒙   NM  中国
    0101 土默特左旗 TZQ 0100A
    0111 二连浩特   ELHT 0100A
      

  3.   

    update a set a.sfdm=b.dmdm
    from 
    t_dmxxb a inner join
    t_dmxxb b on a.sfdm=b.dmmc
    and a.gjbz='0'