A表
specid   loss1310  loss1550
1         10        11
2         12        11
3         4          5
4         2          3
想变成
  
loss         n1        n2         n3         n4
loss1310     10        12         4          2        
loss1550     11        11         5          3select (case when specid='1' then a.loss1310 end )n1,
       (case when specid='2' then a.loss1310 end )n2,
       (case when specid='3' then a.loss1310 end )n3,
       (case when specid='4' then a.loss1310 end )n4
from A我不知道loss1550和loss如何表达

解决方案 »

  1.   

    select 
    'loss1310' AS loss,
    (case when specid='1' then a.loss1310 end )n1, 
          (case when specid='2' then a.loss1310 end )n2, 
          (case when specid='3' then a.loss1310 end )n3, 
          (case when specid='4' then a.loss1310 end )n4 
    from A 
    UNION ALL
    select 
    'loss1550' AS loss,
    (case when specid='1' then a.loss1550 end )n1, 
          (case when specid='2' then a.loss1550 end )n2, 
          (case when specid='3' then a.loss1550 end )n3, 
          (case when specid='4' then a.loss1550 end )n4 
    from A