首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql 行转列 队列

2012-09-10 
mysql 行转列 行列表kaoqin是这样的我想通过行转列得出下面这样的结果etimattendancelistid上午上班下午上

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

热点排行