三张表 tab1,tab2,tab3(空表)tab1 中字段 a,b   tab2中字段 a,c,d  tab3中字段a,c,d , 假如tab1中有500多条记录,tab2中有5000多条记录。
表1 所有记录以a为关联 全部含在表2中。
我想把表2中含有表1的数据全部提取出来 插入到表3 中 tab3 字段 a,c,d

解决方案 »

  1.   

    试试这样?
    INSERT INTO TAB3
      SELECT A, C, D
        FROM TAB2
       WHERE EXISTS (SELECT 1 FROM TAB1 WHERE TAB1.A = TAB2.A);
      

  2.   

    insert into tab3
    select tab2.a,tab2.c,tab2.d 
    from tab1,tab2 where tab1.a=tab2.a
      

  3.   

    实测数据:CREATE TABLE T104
    (
        A VARCHAR2(20),
        B VARCHAR2(20)
    );INSERT INTO T104 VALUES('01', 'My');
    INSERT INTO T104 VALUES('02', 'Your');
    INSERT INTO T104 VALUES('03', 'Me');CREATE TABLE T105
    (
        A VARCHAR2(20),
        C VARCHAR2(20),
        D VARCHAR2(20)    
    );INSERT INTO T105 VALUES('01', 'AAAAA', 'XXXXX');
    INSERT INTO T105 VALUES('01', 'BBBBB', 'YYYYY');
    INSERT INTO T105 VALUES('02', 'CCCCC', 'ZZZZZ');
    INSERT INTO T105 VALUES('02', 'DDDDD', 'WWWWW');CREATE TABLE T106
    (
        A VARCHAR2(20),
        C VARCHAR2(20),
        D VARCHAR2(20)    
    );
    实测结果: