
帮帮忙。。告诉我怎么做就可以。。如果能写出mysql 或者sql server 的sql语句就更好了。
------解决思路----------------------
select t
,MAX(case datepart(WEEKDAY,d) when 2 then c+'班' else '' end) 星期一
,MAX(case datepart(WEEKDAY,d) when 3 then c+'班' else '' end) 星期二
,MAX(case datepart(WEEKDAY,d) when 4 then c+'班' else '' end) 星期三
,MAX(case datepart(WEEKDAY,d) when 5 then c+'班' else '' end) 星期四
,MAX(case datepart(WEEKDAY,d) when 6 then c+'班' else '' end) 星期五
,MAX(case datepart(WEEKDAY,d) when 7 then c+'班' else '' end) 星期六
,MAX(case datepart(WEEKDAY,d) when 1 then c+'班' else '' end) 星期日
from tc
group by t
------解决思路----------------------
可以参考一下下面这个方法
WITH tab(t,c,d) AS (
SELECT '甲', '2', '2015-06-15' UNION ALL
SELECT '乙', '1', '2015-06-16' UNION ALL
SELECT '甲', '3', '2015-06-16' UNION ALL
SELECT '丙', '2', '2015-06-17' UNION ALL
SELECT '甲', '4', '2015-06-18'
),
tab2 AS(
SELECT
t,c+'班' AS c,DATENAME(WEEKDAY,d) AS d
FROM
tab
)
SELECT
t,
ISNULL([星期一],'') AS [星期一],
ISNULL([星期二],'') AS [星期二],
ISNULL([星期三],'') AS [星期三],
ISNULL([星期四],'') AS [星期四],
ISNULL([星期五],'') AS [星期五],
ISNULL([星期六],'') AS [星期六],
ISNULL([星期日],'') AS [星期日]
FROM
tab2 a
PIVOT( MAX(c) FOR d IN ([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])) b
ORDER BY
t DESC