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

还是进货日统计
昨天问了这个问题,潇洒老乌龟给了我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)
但是如果我要加入条件就不行了,比如我要按照部门或者类别查询,在表里面这两个字段都是有的


------解决方案--------------------
看了存储过程,应该是一个部分交叉表的问题咯
你要什么字段交叉就把字段名换上去应该就可以了吧...