跪求一交叉表查询语句急....................
表a 
       客户名称      产品名称      销量         折扣 
       张三                           a                     100            100 
       张三                           c                     100            100 
       李四                           b                     100            150 
       李四                           a                     120            110 
       王五                           c                     100            120 
          ..                              d                        ..               .. 
          ..                              ..                     ..               .. 
          ..                              ..                     ..               .. 
 求一查询语句得到如下结果: 
       客户名称      备注         a                  b               c               d         .. 
          张三               销量         100                           100    
          张三               折扣         100                           100 
          李四               销量         120         100          
          李四               折扣         110         150 
          王五               销量                                             100 
          王五               折扣                                             120    
          ..                                                    
          ..
------解决方案--------------------declare @t table(客户名称 varchar(10),产品名称 varchar(10),销量 int,折扣 int) 
 insert into @t select  '张三 ', 'a ',100,100 
 union all select  '张三 ', 'c ',100,100 
 union all select  '李四 ', 'b ',100,150 
 union all select  '李四 ', 'a ',120,110 
 union all select  '王五 ', 'c ',100,120   
 SELECT * FROM 
 ( 
 	SELECT 客户名称,产品名称, 列 , 列值 
 	FROM  
 	   (SELECT 客户名称,产品名称, 销量, 折扣 
 	   FROM @t) p 
 	UNPIVOT 
 	   (列值 FOR 列 IN  
 		  (销量, 折扣) 
 	)AS unpvt 
 ) TB 
 PIVOT 
 (MAX(列值) 
  FOR 产品名称 IN ([a],[b]