Postgresql Sql join 1行与多行之和

Postgresql Sql join 1行与多行之和,postgresql,Postgresql,第一表: A id 1 200 2366.533 200 3408.467 200 第二表: C D E F id XRP 5515 5776 0 200 我的问题是: select * from table1 join table2 on table1.id = table2.id 在两个表之间使用经典的JOIN语句运行代码后,

第一表:

A               id    
       1        200
2366.533        200
3408.467        200
第二表:

    C   D       E       F   id  
    XRP 5515    5776    0   200
我的问题是:

select * from table1 
join table2 on table1.id = table2.id
在两个表之间使用经典的JOIN语句运行代码后,我有以下输出:

A               C   D       E       F 
       1        XRP 5515    5776    0
2366.533        XRP 5515    5776    0
3408.467        XRP 5515    5776    0
第一列来自表1,下面四列来自表2。 如您所见,右侧的列是相同的。这仅仅是因为实际上只有1个原始数据在连接过程中被复制

在这种情况下,我希望在加入时对A列求和,并只保留表2中的一行,输出如下

      A         C   D       E       F 
      5776      XRP 5515    5776    0

我将连接到第二个表上的不同子查询:

select t1.A, t2.C, t2.D, t2.E, t2.F
from table1 t1
inner join (select distinct C, D, E, F from table2) t2
    on t1.id = t2.id;

我想我能想出一个答案:

select t2.C, t2.D, t2.E, t2.F, sum(t1) 
from (
  select * from table1 t1
  join table2 t2 on t1.id = t2.id
  ) sub
group by 1,2,3,4

请在两个单独的表中显示原始数据,并包括您当前的SQL查询。@TimBiegeleisen doneSorry,我在第二个表中出错了。实际上已经是一排了。那么就不需要一个不同的语句了?@delalma如果您希望第二个表中的每个
id
总是只有一条记录,那么您当前的查询应该已经足够了。尽管如此,使用我的答案没有什么错,只是没有必要。