一道SQL面试题,实在不知道怎么写了

2025-01-02 05:21:32
推荐回答(1个)
回答1:

select '上午' " ",
max(case when 星期 = '周一' then wm_concat(上午) else null end) 周一,
max(case when 星期 = '周二' then wm_concat(上午) else null end) 周二,
max(case when 星期 = '周三' then wm_concat(上午) else null end) 周三,
max(case when 星期 = '周四' then wm_concat(上午) else null end) 周四,
max(case when 星期 = '周五' then wm_concat(上午) else null end) 周五
from tab
union all
select '下午' " ",
max(case when 星期 = '周一' then wm_concat(下午) else null end) 周一,
max(case when 星期 = '周二' then wm_concat(下午) else null end) 周二,
max(case when 星期 = '周三' then wm_concat(下午) else null end) 周三,
max(case when 星期 = '周四' then wm_concat(下午) else null end) 周四,
max(case when 星期 = '周五' then wm_concat(下午) else null end) 周五
from tab