本帖最后由 williamwilliam 于 2012-04-06 14:12:41 编辑

解决方案 »

  1.   


    create table A(
    ID INT,
    A1 VARCHAR2(10),
    A2 VARCHAR2(10)
    );
    INSERT INTO A VALUES (1,'b1','**');
    INSERT INTO A VALUES (1,'b2','*');
    INSERT INTO A VALUES (2,'b1','hh');
    COMMIT;
    CREATE TABLE B AS
    SELECT ID, MAX(DECODE(A1, 'b1', A2)), MAX(DECODE(A1, 'b2', A2))
      FROM A
     GROUP BY ID;
    SELECT * FROM B; 
                                         ID B1         B2
    --------------------------------------- ---------- ----------
                                          1 **         *
                                          2 hh         
      

  2.   


    create table A(
    ID INT,
    A1 VARCHAR2(10),
    A2 VARCHAR2(10)
    );
    INSERT INTO A VALUES (1,'b1','**');
    INSERT INTO A VALUES (1,'b2','*');
    INSERT INTO A VALUES (2,'b1','hh');
    COMMIT;
    CREATE TABLE B AS
    SELECT ID, MAX(DECODE(A1, 'b1', A2)), MAX(DECODE(A1, 'b2', A2))
      FROM A
     GROUP BY ID;
    SELECT * FROM B; 
                                         ID B1         B2
    --------------------------------------- ---------- ----------
                                          1 **         *
                                          2 hh