日期:2014-05-18 浏览次数:20897 次
create table tb (OrderID int,StyleID int,SizeName int,StyleColor varchar(20),StyleBrand varchar(50),StyleListQty int)
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty) select 16 , 2 ,1,'Black',300 
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty)  select 16,2   ,    3   ,                 'Black'         ,                                      300 
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty)  select 16 ,         2   ,    5      ,              'Black' ,                                              200 
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty)  select 16 ,         2   ,    7      ,              'Black'   ,                                            800 
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty)  select 16  ,        2   ,    9     ,               'Black'   ,                                            200 
insert into tb(OrderID,styleid,sizename,stylecolor,stylelistqty)  select 16   ,       2   ,   11     ,              'Black'    ,                                           200 
declare @sql varchar(1000)
set @sql='select orderid,styleid'
select @sql=@sql+',['+cast(SizeName as varchar)+']=max(case SizeName when '''+cast(SizeName as varchar)+''' then StyleListQty else 0 end)' from tb 
set @sql=@sql+',stylecolor,stylebrand from tb group by orderid,styleid,stylecolor,stylebrand'
exec(@sql)