select 分店名称
,太阳镜_销售量=sum(case 眼镜类型 when '太阳镜' then 销售量 else 0 end)
,太阳镜_库存量=sum(case 眼镜类型 when '太阳镜' then 库存量 else 0 end)
,隐型眼镜_销售量=sum(case 眼镜类型 when '隐型眼镜' then 销售量 else 0 end)
,隐型眼镜_库存量=sum(case 眼镜类型 when '隐型眼镜' then 库存量 else 0 end)
,老花镜_销售量=sum(case 眼镜类型 when '老花镜' then 销售量 else 0 end)
,老花镜_库存量=sum(case 眼镜类型 when '老花镜' then 库存量 else 0 end)
from 表
group by 分店名称
,太阳镜_销售量=sum(case 眼镜类型 when '太阳镜' then 销售量 else 0 end)
,太阳镜_库存量=sum(case 眼镜类型 when '太阳镜' then 库存量 else 0 end)
,隐型眼镜_销售量=sum(case 眼镜类型 when '隐型眼镜' then 销售量 else 0 end)
,隐型眼镜_库存量=sum(case 眼镜类型 when '隐型眼镜' then 库存量 else 0 end)
,老花镜_销售量=sum(case 眼镜类型 when '老花镜' then 销售量 else 0 end)
,老花镜_库存量=sum(case 眼镜类型 when '老花镜' then 库存量 else 0 end)
from 表
group by 分店名称
set @s=''
select @s=@s+',['+眼镜类型+'_销售量]=sum(case 眼镜类型 when '''+眼镜类型+''' then 销售量 else 0 end),['+
眼镜类型+'_库存量]=sum(case 眼镜类型 when '''+眼镜类型+''' then 库存量 else 0 end)'
from 表
group by 眼镜类型
exec('select 分店名称'+@s+'
from 表
group by 分店名称')
分店名称有一百多个,眼镜类型也有几十个类型,都这样处理吗?请问:还有没有其它方法
眼睛类型 分店 是两个维度写MDX做结果。