select staffno, datadate,
sum(case when worktype = 'a' then data1 else 0 end) as adata1,
sum(case when worktype = 'a' then data2 else 0 end) as adata2,
sum(case when worktype = 'b' then data1 else 0 end) as bdata1,
sum(case when worktype = 'b' then data2 else 0 end) as bdata2,
sum(case when...