在SQL数据库中,有两个表(共有3万条记录), 第一个表叫china_cur 有字段: 药品名称,类别,编号. 第二个表叫mcost也有三个字段.是药品名称,医保分类编号,医保类别. 
目的是:把china_cur的"编号"根据"药品名称"写入mcost相应的"医保分类编号"中.(一共要写1万6千多条.) 
由于药品名称,里面不是完全一样(第一个表是详细药品名称,包含表二的药品名称)所以只能用 like查表. 
--------------------------------- 
我一直在ASP写代码的.所以不怎么会在SQL查询中写,麻烦帮我改改好么? 
--------------------------------- 
我在SQL查询里写的代码是: 
--------------------------------- 
UPDATE mcost SET 医保分类编号 = (SELECT 编号 FROM china_cur WHERE 药品名称 LIKE '%mcost.药品名称%' ) 
---------------------------------- 
运行后没有什么效果.希望大家指点指点......

解决方案 »

  1.   

    UPDATE mcost SET 医保分类编号 = (SELECT 编号 FROM china_cur WHERE 药品名称 LIKE '%'+mcost.药品名称+'%' )
      

  2.   

    UPDATE mcost SET 医保分类编号=(SELECT 编号 FROM china_cur WHERE 药品名称 LIKE '%'+mcost.药品名称+'%' ) 
    UPDATE mcost 
    SET  
        医保分类编号=b.编号 
    from
        mcost a,
        china_cur b
    WHERE 
        b.药品名称 LIKE '%'+a.药品名称+'%' ) 
      

  3.   

    UPDATE mcost 
    SET  
        医保分类编号=b.编号 
    from
        mcost a,
        china_cur b
    WHERE 
        b.药品名称 LIKE '%'+a.药品名称+'%'
      

  4.   


    格式:update A
    set A.ColName=B.ColName
    from TableNameA A
    inner join TableNameB B
    on A.ID=B.ID