总结包含指定ID的元组

时间:2015-05-25 14:14:21

标签: sql

我有一张包含以下信息的表格:

r-Id         v-id      cost
---------------------------
i-1234    v-1234       0.5
v-1234       -         1.25

我无法完全按照这样的方式查询:如果r-Idv-id组成,请将相应的v-id费用汇总到{{} 1}}。

因此r-id费用应为i-1234。任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

这样做你想要的吗?

select t.r_id, max(t.cost) + coalesce(sum(t2.cost), 0)
from table t left join
     table t2
     on t.v_id = t2.r_id
group by t.r_id;

这将为您提供的数据生成所需的输出。如果r_id(" i-1234")可能会重复多次,那么这不是一个正确的查询。

编辑:

如果r_id可能多次出现,那么您需要按预先汇总:

select t.r_id, sumcost + coalesce(sum(t2.cost), 0)
from (select t.r_id, sum(t.cost) as sumcost
      from table t
      group by t.r_id
     ) t left join
     table t2
     on t.v_id = t2.r_id
group by t.r_id, sumcost,