需要帮助创建PostgreSQL查询

时间:2018-04-24 13:55:07

标签: sql postgresql

我有一张桌子。

Name count1 Name2 count2
A    1      B     2
B    2      c     4 
A    5      C     7

名称具有count1值, Name2 具有count2值。

我需要以下结果

a -> 6   col[0][0] + c[2][0]
b-> 4    col[0][3] + c[1][1]
c -> 11  col[1][3] + col[2][3]

说明:B同时包含name和name1,因此我们需要为B

添加count1和count2

1 个答案:

答案 0 :(得分:1)

您需要取消数据,然后进行汇总。这是一个简单的方法:

union all

更新版本的Postgres支持横向连接。如果您拥有大量数据,这些可以更有效,但select v.name, sum(v.cnt) from t, lateral join (values (t.name1, t.count1), (t.name2, t.count2)) v(name, cnt) group by v.name; 也可以正常工作。

编辑:

横向连接非常相似:

node index.js