我现在有两张表   A表   和   B表    A表有个字段是zhanghao,mobile,  B表有zhanghao,username,address,  现在A表总共有15条数据,B表有20条数据,我想把A表和B表相同字段值相等插入到第三张表里,把多余的那五条数据也插入到第三张表里,也就是相等的插入到一条数据,不相等的重新插入到一条数据,怎么弄?谢谢大家了。

解决方案 »

  1.   

    我意思如果A表和B表相同字段的值相等的插入一条数据到第三张表,如果不相等只把A表数据插入到第三张表里就行了。
      

  2.   

    用A、B表关联 账号相等的插入 C表 不相等的插入D 表INSERT INTO C (
    字段1,
    字段2,
    字段3
    )
    字段1,
    字段2,
    字段3
    FROM A , B 
    where A.zhanghao = B.zhanghao;


    INSERT INTO D (
    字段1,
    字段2,
    字段3
    )
    字段1,
    字段2,
    字段3
    FROM A , B 
    where A.zhanghao != B.zhanghao;
      

  3.   

    insert into C select * from A ,B where A.zhanghao=B.zhanghao;insert into C select * from B where zhanghao not in(select zhanghao from A);
      

  4.   

    我意思如果A表和B表相同字段的值相等的插入一条数据到第三张表,如果不相等只把A表数据插入到第三张表里就行了。你这要求我觉得别扭。

     1 mobile1
     2 mobile2
     3 mobile3
    B
     1 zhang bj
     2 li    shang
     4 wang  ji是不是zhanghao一样的,将A+B数据插入C ,而A中存在B不存在的只把A插入C???
      

  5.   

    还有 A 有 B 没有的呢?insert into C 
      select * from A, B where A.zhanghao=B.zhanghao
      union
      select * from A
      union
      select * from B
      

  6.   

    用这个就行。
    但是要把
     union
      select * from B
    去掉。他把B存在A不存在的也加进去了。
      

  7.   

    insert into lt_yongjinnews 
    select y.*,e.ziduan3 from lt_yongjin y,lt_email e where y.ziduan5 = e.ziduan1 or y.ziduan6 = e.ziduan2