已知:
a  a1  a2  b  b1  b2  c  c1  c2
1  42  3  14  5   6   5   9  33
 
得到: 
 type  f   f1   f2
 a     1   42   3
 b     14  5    6
 c     5   9    33

解决方案 »

  1.   

    土方法
    select 'a' type,a,a1,a2 from talb
    union all 
    select 'b',b,b1,b2 from table
    union all 
    select 'c',c,c1,c2 from table
      

  2.   

    IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
    GO
    CREATE TABLE TB
    (
      a INT,
      a1 INT,
      a2 INT,
      b INT,
      b1 INT,
      b2 INT,
      c INT,
      c1 INT,
      c2 INT
    )
    INSERT INTO TB
    SELECT 1,42,3,14,5,6,5,9,33SELECT 'a' as type,a as f,a1 as f1,a2 as f2
    FROM TB
    UNION ALL
    SELECT 'b',b,b1,b2
    FROM TB
    UNION ALL
    SELECT 'c',c,c1,c2
    FROM TB
    /*
    ------------------------
    type f f1 f2
    a 1 42 3
    b 14 5 6
    c 5 9 33
    */
      

  3.   


    select type = 'a' , f = a , f1 = a1 , f2 = a2 from tb
    union all
    select type = 'b' , f = b , f1 = b1 , f2 = b2 from tb
    union all
    select type = 'c' , f = c , f1 = bc , f2 = c2 from tb