sql 实现列变行
A          
       项目名         金额         票号          
       报关费         11                           1          
       报检费         12                           1          
       押箱费         13                           1          
       报关费         11                           2                
       报检费         12                           2          
       押箱费         13                           2          
 B 
       票号         报关费         报检费         押箱费          
       1                                 11                                 12                                 13          
       2                                 14                                 15                                 16         
 由表A查询得B(不用中间表),只用sql能否实现? 
 另:票号有N个 
 谢谢
------解决方案--------------------select  
 票号, 
 报关费=sum(case when 项目名= '报关费 ' then 金额 else 0 end), 
 报检费=sum(case when 项目名= '报检费 ' then 金额 else 0 end), 
 押箱费=sum(case when 项目名= '押箱费 ' then 金额 else 0 end) 
 from A group by 票号