34,594
社区成员
发帖
与我相关
我的任务
分享
declare @s nvarchar(4000)
Select @s=isnull(@s+',','')+quotename([DutyDate])
from DutyInfo group by[DutyDate]
exec('select * from DutyInfo pivot (max([DutyName]) for [DutyDate] in('+@s+'))b ')
string str = "declare @s nvarchar(4000) Select @s=isnull(@s+',','')+quotename([DutyDate]) from DutyInfo where DutyDate between'" + DateTime.Now.ToString("yyyyMMdd") + "'and'" + dt.ToString("yyyyMMdd") + "'group by [DutyDate] exec('select * from (SELECT [DutyDate],[Dutyweek],[DutyName] FROM DutyInfo)a pivot (max([DutyName]) for [DutyDate] in('+@s+'))b order by case when Dutyweek=''星期一'' then 1 when Dutyweek=''星期二'' then 2 when Dutyweek=''星期三'' then 3 when Dutyweek=''星期四'' then 4 when Dutyweek=''星期五'' then 5 when Dutyweek=''星期六'' then 6 when Dutyweek=''星期日'' then 7 END ')";
DECLARE @s NVARCHAR(4000)
SELECT @s = ISNULL(@s + ',', '') + QUOTENAME([DutyDate])
FROM ( SELECT dutydate ,
dutyweek ,
dutname
FROM DutyInfo
) a
GROUP BY [DutyDate]
EXEC('select * from DutyInfo pivot (max([DutyName]) for [DutyDate] in('+@s+'))b ')
排序的问题在你另外一个贴回复了