Postgresql 基于两个表计算sal之和

Postgresql 基于两个表计算sal之和,postgresql,Postgresql,两张桌子像 表1 +----+-------+-----+ | id | sname | sal | +----+-------+-----+ | 1 | X | 100 | | 2 | Y | 200 | | 3 | Z | 400 | +----+-------+-----+ 表2 +----+-------+-----+ | id | sname | sal | +----+-------+-----+ | 1 | A | 500 | | 2 |

两张桌子像

表1

+----+-------+-----+
| id | sname | sal |
+----+-------+-----+
|  1 | X     | 100 |
|  2 | Y     | 200 |
|  3 | Z     | 400 |
+----+-------+-----+
表2

+----+-------+-----+
| id | sname | sal |
+----+-------+-----+
|  1 | A     | 500 |
|  2 | B     | 200 |
|  3 | C     | 400
|  4   A       100
+----+-------+-----+
两个表都具有关系id列

我需要根据表1计算sal组的总和。同时计算与表2匹配的人

输出类似

+-------+-------+---------------------
| Table1.sname | Table2.sname   | sum |
+-------+-------+-----+ ----------------
| A         | W         | 600 |
| B         | Y         | 200 |
| B         | F         | 300 |
| C         | Z         | 400 |
+-------+-------+----------------------



select sum(sal),a.sname,b.sname 
from table1 a,
     (select id,sname from table2 group by sname,id) as b 
where a.id=b.id 
group by a.sname,b.sname;

但是它没有给出正确的o/p,你的问题有点模棱两可……但也许你想要这个

质疑

结果

 Table1.id | Table2.sname | Table2.sname | sum
-----------+--------------+--------------+-----
         1 | a            | d            | 500
         2 | b            | e            | 700
         3 | c            | f            | 900

你的问题有点模棱两可……但也许你想要这个

质疑

结果

 Table1.id | Table2.sname | Table2.sname | sum
-----------+--------------+--------------+-----
         1 | a            | d            | 500
         2 | b            | e            | 700
         3 | c            | f            | 900

您的SQL代码在哪里?您需要澄清您的问题。提供更多具有预期结果的输入数据示例,或更详细地说明应执行的操作SQL代码在哪里?您需要澄清您的问题。提供更多具有预期结果的输入数据示例,或更详细地说明应执行的操作这不是我所期望的这不是我所期望的