我有一个表来记录员工在指定日期生成的产品,这是它的结构:
EmpId Date ProductA ProductB 001 01/01/2018 5 3 001 01/02/2018 2 5 002 01/01/2018 3 4 002 01/02/2018 1 2
以下是我必须从上表中获得的示例报告:
01/01/2018 01/02/2018 EmpId ProductA ProductB ProductA ProductB 001 5 3 2 5 002 3 4 1 2
...也许很难有完美的解决方案,你可以给我看一个链接,剪辑或相关文件来解决问题,感谢你的帮助,谢谢!
答案 0 :(得分:0)
您可以使用数据透视查询..但如果日期值太多,则会很笨拙..
with t(empid, date, ProductA, ProductB) as
(
select '001', '01/01/2018', 5, 3 union all
select '001', '01/02/2018', 2, 5 union all
select '002', '01/01/2018', 3, 4 union all
select '002', '01/02/2018', 1, 2
)
select empid,
sum(case when date='01/01/2018' then ProductA end) ProductA,
sum(case when date='01/01/2018' then ProductB end) ProductB,
sum(case when date='01/02/2018' then ProductA end) ProductA,
sum(case when date='01/02/2018' then ProductB end) ProductB
from t
group by empid