F1 F2 F3 F4 单利 本期 总利
20040326 车间 外销总计 利润 226.1 884923.84 Null
20040326 车间 内销合计 利润 384.45 123 Null
20040326 车间 耐火砖合计 利润 1594.9 404974 23443
20040326 车间 外销总计 利润 226.1 884923.84 Null
20040326 车间 内销合计 利润 384.45 123 Null
20040326 车间 耐火砖合计 利润 1594.9 404974 23443
(case f5 when '单利' then F6 end) 单利,
(case f5 when '本期' then F6 end) 本期,
(case f5 when '总利' then F6 else null end) 总利
FROM tbl
max(case f5 when '单利' then F6 end) 单利,
max(case f5 when '本期' then F6 end) 本期,
max(case f5 when '总利' then F6 else null end) 总利
FROM tbl
group by
F1 , F2 , F3 , F4
我可能没有说清楚:f5中的数据是没有规律可能不叫"单利","本期","总利"
declare @sql varchar(8000)
set @sql = 'select F1 , F2 , F3 , F4'
select @sql = @sql + ',
max(case f5 when '''+ProductType+''' then f6 else null end) ['+ProductType+']'
from (select distinct f5 from 表) as a
select @sql = @sql+' from 表 group by F1 , F2 , F3 , F4'
exec(@sql)