postgresql - Sql将1行与多行之和连接起来
问题描述
第一张表:
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,以下 4 列来自表 2。如您所见,右侧的列是相同的。仅仅因为实际上只有 1 个原始数据在 JOIN 期间被复制。
我想在加入时对 A 列求和,在这种情况下只保留 Table2 中的 1 行,输出如下。
A C D E F
5776 XRP 5515 5776 0
解决方案
我想我可以想出一个答案:
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
推荐阅读
- laravel - 显示 Laravel artisan 命令输出(从另一个命令调用的命令)
- c# - “Microsoft.TeamFoundation.VersionControl”类的 VSTS 替代方案是什么?
- python - 线性回归中多个变量的p值如何计算?
- c++ - 查询 CL_DEVICE_MAX_WORK_ITEM_SIZES
- javascript - 当向下滚动时从一个切换到另一个时,为标题中的徽标添加淡入/淡出效果
- mysql - MySQL正则表达式 - 不以元音开头也不以元音结尾
- c# - Sqlite 在 C# 中将数据库移动到内存
- python - “将温度从 f 转换为 c”在 def 中不起作用
- powershell - Powershell 添加重复的 IIS 应用程序池
- django - Django Match-team-player 关系玩家选择