有一百多张表,有些表的字段一样,有些的不一样,要将这一百多张表整成一张表,这张表包含有所有的字段,该怎么做?

解决方案 »

  1.   

    如果仅建表结构,不导入数据的话,可以用user_tables进行处理,不过这个需求倒是很奇怪
      

  2.   

    insert select 
    select  就是的多表组合查询
      

  3.   

    不是insert 应该是create table tablename as select 
    哈哈  搞错了
      

  4.   

    使用这个语句只能把一张表复制到另一张表中,好像不能把多张表表整合在一张表中,望详解。
    如果有这五张表,表a1,a2,a3,a4,a5;要把它整合进一张表,这张表名为表b,该怎么做
      

  5.   

    select a.*,b.*,c.*...... from aaa a left join bbb b on a.??=b.?? left join ccc c on b.??=c.??...
      

  6.   

    --示例:三个原始小表
    CREATE TABLE tab_sub_1
    (
       a   VARCHAR2 (5),
       b   VARCHAR2 (5),
       c   VARCHAR2 (5),
       d   VARCHAR2 (5)
    );CREATE TABLE tab_sub_2
    (
       a   VARCHAR2 (5),
       e   VARCHAR2 (5),
       f   VARCHAR2 (5)
    );CREATE TABLE tab_sub_3
    (
       e   VARCHAR2 (5),
       h   VARCHAR2 (5),
       i   VARCHAR2 (5)
    );--整合后的大表,包含小表所有字段
    CREATE TABLE tab_all
    (
       a   VARCHAR2 (5),
       b   VARCHAR2 (5),
       c   VARCHAR2 (5),
       d   VARCHAR2 (5),
       e   VARCHAR2 (5),
       f   VARCHAR2 (5),
       h   VARCHAR2 (5),
       i   VARCHAR2 (5)
    );--将小表数据整合到大表中
    INSERT INTO TAB_ALL (A,
                         B,
                         C,
                         D,
                         E,
                         F,
                         H,
                         I)
       SELECT T1.A,
              T1.B,
              T1.C,
              T1.D,
              T2.E,
              T2.F,
              T3.H,
              T3.I
         FROM TAB_SUB_1 T1, TAB_SUB_2 T2, TAB_SUB_3 T3
        WHERE T1.A = T2.A AND T2.E = T3.E;