昨天问了这个问题,潇洒老乌龟给了我SQL语句,是这样的
declare @sql varchar(8000)
set @sql = 'select Name , convert(varchar(7),RiQi,120) 月份 '
select @sql = @sql + ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then DanJia end) [单价 ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then convert(varchar(4),SL) end) [数量 ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then JinE end) [金额 ' + cast(号 as varchar) + '] '
from (select distinct datepart(day,RiQi) 号 from tb) as a
set @sql = @sql + ' from tb group by Name , convert(varchar(7),RiQI,120) '
exec(@sql)
但是如果我要加入条件就不行了,比如我要按照部门或者类别查询,在表里面这两个字段都是有的
------解决方案--------------------
看了存储过程,应该是一个部分交叉表的问题咯
你要什么字段交叉就把字段名换上去应该就可以了吧...