DECLARE @sql varchar(8000)
set @sql = 'select Name '
select @sql = @sql + ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then DanJia end) [DJ ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then SL end) [SL ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,RiQi) when ' ' ' + cast(号 as varchar) + ' ' ' then JinE end) [JE ' + cast(号 as varchar) + '] '
from (select distinct datepart(day,RiQi) 号 from KC_RK_CG_MX where RiQi= '2007-09-16 ' and BuMen= '厨部 ' and LeiBie= '工具 ') a
set @sql = @sql + ' from KC_RK_CG_MX group by Name , convert(varchar(7),RiQI,120) '
exec(@sql)
GO
这样会把不是leiBie= '工具 ' 的记录都查出来,可是我要过滤的是 RiQi,BuMen,LeiBie三个条件啊,应该怎么改?
------解决方案--------------------
也許,在最後
set @sql = @sql + ' from KC_RK_CG_MX group by Name , convert(varchar(7),RiQI,120) '
也需要加上where條件試下