好友
阅读权限25
听众
最后登录1970-1-1
|
zpy2
发表于 2021-7-19 12:32
drop table if exists 星期班次表;
create table 星期班次表 as select * from 排班输入星期明细表,排班输入班次明细表;
drop table if exists 排班姓名生成表;
create table 排班姓名生成表 as with recursive name_list (姓名,i) as (select 姓名,1 as i from 排班输入姓名明细表 union select 姓名,i+1 i from name_list where i<4 ) select * from name_list ;
drop view if exists 星期班姓名一维表视图;create view 星期班姓名一维表视图 as with a as (select * from (select rowid,* from 星期班次表) join (select rowid,* from 排班姓名生成表) using(rowid))
select 星期 列标签,substr(班次,1,1) 班,姓名 数据 from a;select 班,group_concat(distinct(case when 列标签='周01' then 数据 else null end)) as '周01',group_concat(distinct(case when 列标签='周02' then 数据 else null end)) as '周02',group_concat(distinct(case when 列标签='周03' then 数据 else null end)) as '周03',group_concat(distinct(case when 列标签='周04' then 数据 else null end)) as '周04',group_concat(distinct(case when 列标签='周05' then 数据 else null end)) as '周05' from (select 班,列标签,group_concat(数据,'、') 数据 from 星期班姓名一维表视图 group by 班,列标签) group by 班
班 周01 周02 周03 周04 周05
中 A13、A14、A15、A16、A17、A18、A19、A20、A21、A22、A23、A24 A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11、A12 A29、A30、A31、A32、A33、A34、A35、A36、A37、A38、A39、A40 A17、A18、A19、A20、A21、A22、A23、A24、A25、A26、A27、A28 A5、A6、A7、A8、A9、A10、A11、A12、A13、A14、A15、A16
早 A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11、A12 A29、A30、A31、A32、A33、A34、A35、A36、A37、A38、A39、A40 A17、A18、A19、A20、A21、A22、A23、A24、A25、A26、A27、A28 A5、A6、A7、A8、A9、A10、A11、A12、A13、A14、A15、A16 A33、A34、A35、A36、A37、A38、A39、A40、A1、A2、A3、A4
晚 A25、A26、A27、A28 A13、A14、A15、A16 A1、A2、A3、A4 A29、A30、A31、A32 A17、A18、A19、A20
|
|