首页 > 解决方案 > 乘以计数结果

问题描述

我有一个名为 TableA 的表,有两列,Amount 和 A_ID(唯一 ID),还有一个名为 TableB 的表,其中有一列 B_ID(另一个唯一 ID)

在 TableA 上进行选择会显示如下数据:

Amount | A_ID
1378   | 1
1839   | 2
1237   | 1

而表 B 很简单:

B_ID
 1
 2

我希望能够计算 A_ID 的条目数量,它也存在于 B_ID 中,然后将 TableA Amount 乘以计数函数的结果。这是我尝试过的:

SELECT (
SELECT Count(*)
FROM TableA a, TableB b
where a.A_ID = b.B_ID
) id_count, SUM(id_count * a.amount)
from TableA a
GROUP BY a.A_ID

预期结果为:

total_Amount | A_ID
   2615      |  1
   1839      |  2

标签: sqloracleselect

解决方案


我希望能够计算 A_ID 的条目数量,它也存在于 B_ID 中,然后将 TableA Amount 乘以计数函数的结果。

我想你只是想要:

select sum(a.amount)
from tablea a join
     tableb b
     on a.a_id = b.b_id;

如果你想要这个a_id

select a.a_id, sum(a.amount)
from tablea a join
     tableb b
     on a.a_id = b.b_id
group by a.a_id;

推荐阅读