读书人

mysql 行转列 队列

发布时间: 2012-09-10 22:20:12 作者: rapoo

mysql 行转列 行列
表kaoqin是这样的



我想通过行转列得出下面这样的结果
etimattendancelistid上午上班下午上班
0030 旷工 迟到
0061 旷工 旷工

该怎么写,用mysql数据库的

我用
select etimattendancelistid,
sum(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) As '上午上班',
sum(case when etimkaoqinfanwei='下午上班' then etimkaoqinzhuangtai end) As '下午上班'

From kaoqin By etimattendancelistid


结果出现这种状况


后面用了
select etimattendancelistid,
concat(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) As '上午上班',
concat(case when etimkaoqinfanwei='下午上班' then etimkaoqinzhuangtai end) As '下午上班'

From kaoqin By etimattendancelistid





结果还是不能满足!

请问大家怎么写查询语句?

select etimattendancelistid,max(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) as '上午上班', max(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) as '下午上班'From kaoqin group by etimattendancelistidselect etimattendancelistid,max(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) as '上午上班', max(case when etimkaoqinfanwei='上午上班' then etimkaoqinzhuangtai end) as '下午上班'From kaoqin order by etimattendancelistid

读书人网 >Mysql

热点推荐