之前使用mysql的case when 一直当做转义来进行使用
今天遇到一个数据库表结构设计是这样的
项目节点 | 项目时间 |
---|---|
xmjd22 | 2020-1-1 |
xmjd23 | 20202-1 |
xmjd22对应开工时间
xmjd23对应竣工时间
想实现效果
开工时间 | 竣工时间 |
---|---|
2020-1-1 | 2020-2-1 |
其实就是使用case when实现行列转换
但是 要灵活运用
写法:
select a.id,a,name,
(case a.xmjd when 'xmjd22' then a.xmsj end) as kgsj,
(case a.xmjd when 'xmjd23' then a.xmsj end) as jgsj
from a