本人想把A表中code字段的值根据两个表中相同的name值添加到B表中code字段(B表中code字段无记录,为空);
SQL语句如下:
update A set A.code = B.code where A.name = B.name;
总是会出错,请高人指点!

解决方案 »

  1.   

    其实没什么代码的
    query2.Close;
    query2.SQL.Clear;
    query2.SQL.Add(update A set code = B.code where A.name = B.name);
    query2.ExecSQL;
      

  2.   

    A表中code字段的值 -> 添加到B表中code字段
    update B
       set B.code = (select A.code from A where A.name = B.name)
      

  3.   

    应该写为
    update A set A.code = B.code from A,B where A.name = B.name;
      

  4.   

    我前面写错了是:update B set B.code = A.code where A.name = B.name;
    A和B两个表是一对多的关系
    A:
    name    code
    aa      0001
    bb      0002
    B:
    name    code    bus    mh    
    aa              ...    ..
    aa              ...    ..
    bb              ...    ..
    bb              ...    ..
             ^
    此处是我要生成的结果aa为0001,bb为0002
      

  5.   

    update bb inner join aa on bb.name=aa.name set bb.code=aa.code
      

  6.   

    难道不对吗? [email protected]
      

  7.   

    update b set code (select code from a where b.name = b.name)
      

  8.   

    有个笔误,应该是:
    update b set code (select code from a where a.name = b.name)