【发布时间】:2023-01-25 19:22:56
【问题描述】:
一种选择是有条件地聚合值(但这也意味着表 B 不会有太大帮助)(另外,date 很可能不是列名,因为它是保留字,为 date 数据类型保留所以我更名它到datum):
select a.datum,
sum(case when a.code = 1 then rate else 0 end) usd,
sum(case when a.code = 2 then rate else 0 end) eur,
sum(case when a.code = 3 then rate else 0 end) obp
from a
group by a.datum
order by a.datum;
DATUM USD EUR OBP
----------- ---------- ---------- ----------
28-oct-2018 1000 2000 4000
29-oct-2018 2000 3000 5000
30-oct-2018 3000 4000 6000
【讨论】: