好贷网好贷款

请教一段SQL语句 10CSDN]

发布时间:2016-12-3 14:45:41 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"请教一段SQL语句 10CSDN]",主要涉及到请教一段SQL语句 10CSDN]方面的内容,对于请教一段SQL语句 10CSDN]感兴趣的同学可以参考一下。

有user表,表的信息如下: --------------------------- name     type        time tyl      morning     8:00 zl       morning     7:00 tyl      afternoon   11:00 zl       afternoon   10:00 tyl      evening     14:00 zl       evening     13:00 ------------------------------ 编写一段SQL语句,结果如下: ------------------------------- name   time1    time2     time3   tyl    8:00     11:00     14:00 zl     7:00     10:00     13:00 -------------------------------

SELECT name, time1 = MAX(CASE type WHEN 'morning' THEN time END), time2 = MAX(CASE type WHEN 'afternoon' THEN time END), time3 = MAX(CASE type WHEN 'evening' THEN time END) FROM [user] GROUP BY name

-- sql 2005 SELECT name, time1 = morning, time2 = afternoon, time3 = evening FROM [user] PIVOT( MAX(time) FOR type IN([morning], [afternoon], [evening]) )P

select name ,      sum(when type = morning then time else 0 end) time1,      sum(when tye =  afternoon then time else 0 end ) time2,      sum(when type =  evening  then time else 0 end ) time3 from user group by name

顶~!

能力有限,读不懂?

个人认为这个代码结构比较清晰, SELECT name, time1 = MAX(CASE type WHEN 'morning' THEN time END), time2 = MAX(CASE type WHEN 'afternoon' THEN time END), time3 = MAX(CASE type WHEN 'evening' THEN time END) FROM [user] GROUP BY name 只是 time1 = MAX(CASE type WHEN 'morning' THEN time END), time2 = MAX(CASE type WHEN 'afternoon' THEN time END), time3 = MAX(CASE type WHEN 'evening' THEN time END) 这段不理解

看看交叉数据报表

上一篇:格式化日期类型 20CSDN]
下一篇:为什么不能启用SQL验证?? 20CSDN]

相关文章

相关评论