0

我正在使用外包开发的数据库,

他们给出了两列——例如

Charge Value 
Test   0.23 
Jop    0.10 
Bob    0.15 

好吧,我想查询该表,以便从这两列中获得以下输出。

Charge Value Bob Value Total
Test   0.23  0.15      0.38 

这些显然是通过主键链接在一起的。所以我想用两列来表示四列中的数据。我只是想知道这是否可能,或者我是否必须执行多个查询。

希望这是足够的信息!

4

1 回答 1

1

您可以使用条件聚合来做到这一点:

select 'Test' as Charge,
       max(case when t.charge = 'Test' then value end) as Value,
       max(case when t.charge = 'Bob' then value end) as "Bob Value",
       sum(case when t.charge in ('Test', 'Bob') then value end) as Total
from t
于 2012-09-06T13:58:23.643 回答