我有一个工作正常的查询,但我在下一步遇到了问题.它调用三个不同的表并返回一列帐号和一个成本.我想把费用加起来,但要按帐号分组.如果我从一个只有两列的表开始,这是微不足道的.由于各种原因,我在使用子查询时遇到了问题.任何意见都是值得感谢的.

select top 100 tblPart.Account,(tblPartLocation.OnHand * tblPart.CostAverage)
as TotalCost 
from tblPartLocation
join tblPart on tblPart.Part = tblPartLocation.Part

Account  Cost
accnt1   3.56  
accnt1   4.78 
annct2   5.00
accnt1   1.23
accnt4   0.01
accnt5   1.01
accnt3   7.45

预期yields 为

Account  Cost
accnt1   9.57  
accnt2   5.00 
annct3   7.45
accnt4   0.01
accnt5   1.01

推荐答案

您可以使用SQL sum()函数,然后按Account聚合.

select tblPart.Account, sum(tblPartLocation.OnHand * tblPart.CostAverage) as TotalCost 
from tblPartLocation
join tblPart on tblPart.Part = tblPartLocation.Part
group by tblPart.Account

Sql相关问答推荐

Oracle SQL中多个函数上的SON构建不会以良好的格式结束

Postgres从组中 Select 具有相反排序顺序的行

判断时间之间是否有时间

Postgresql:从jsons数组到单个id索引的json

Oracle SQL根据列中的条件 Select 最大记录数

防止ActiveRecord迁移在db/structure.sql中进行巨大更改

用于从第二个表中提取具有最小最终价格值的记录的SQL查询

仅在日期相隔时递增(Oracle SQL)

Postgres jsonpath运算符的变量替换,如_regex?

根据时间值提取记录

我需要在 ASP.NET C# 中获取 2 个 SQL 查询结果的平均值

当我返回 sql 列时,有没有办法只反转数字? ( hebrew )

我可以在 T-SQL (SQL Server) 的函数内使用 OPTION 子句吗?

Oracle 21c 中的递归查询回顾过go 3 周

Postgres更新增量之间的差异

try 将多行折叠为单个结果

Clob 问题 - 将 clob 列拆分为多行

如何 Select 一列具有最小值而另一列具有给定值的记录?

字符串从更改到表列和查询中的一行的转换错误

如何在一个存储过程中创建全局临时表,并在另一个存储过程中使用它