日期:2014-05-18  浏览次数:20544 次

再请教各位前辈 行列转置的方法
再请教各位前辈   行列转置的方法,非常感谢!

(可参照附件)
如下表:  
日期   产品编码     产品名称   检验数
2007-7-1   JA3810   连接体   29
2007-7-1   LT1812   淋浴   141
2007-7-1   JG1814   妇洗器   36
2007-7-1   FXB1800   出水咀   925
2007-7-1   FP1806   阀芯套   238
2007-7-2   JA3810   连接体   50
2007-7-2   LT1812   淋浴   150
2007-7-3   JG1814   妇洗器   90
2007-7-3   FXB1800   出水咀   300
2007-7-31   JA3810   连接体   128
2007-7-31   LT1812   淋浴   800


车间:
物料编码 物料名称 计划数 数量 1 2 3 4 5 6.......
JA3810 连接体 进度数 29 50
LT1812 淋浴 141 150 90
JG1814 妇洗器 36
FXB1800 出水咀 925 300
FP1806 阀芯套 238

如看不清请联系QQ283611008   或susull88@163.com       谢谢!!



------解决方案--------------------
declare @sql varchar(8000)
set @sql = 'select 产品编码, '
select @sql = @sql + 'sum(case datename(dd,日期) when ' ' '+datename(dd,日期)+ ' ' '
then 检验数 else 0 end) as ' ' '+datename(dd,日期)+ ' ' ', '
from (select distinct datename(dd,日期) from test) as a
select @sql = left(@sql,len(@sql)-1) + ' from test group by 产品编码 '
exec(@sql)
go

没测试~