Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 乘以计数结果_Sql_Oracle_Select - Fatal编程技术网

Sql 乘以计数结果

Sql 乘以计数结果,sql,oracle,select,Sql,Oracle,Select,我有一个名为TableA的表,有两列,Amount和a_ID a unique ID,还有一个名为TableB的表,其中一列有B_ID,另一列有唯一ID 在表a上进行选择将显示如下数据: Amount | A_ID 1378 | 1 1839 | 2 1237 | 1 表B简单地说: B_ID 1 2 我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果。这就是我所尝试的: SELECT ( SELECT Count(*)

我有一个名为TableA的表,有两列,Amount和a_ID a unique ID,还有一个名为TableB的表,其中一列有B_ID,另一列有唯一ID

在表a上进行选择将显示如下数据:

Amount | A_ID
1378   | 1
1839   | 2
1237   | 1
表B简单地说:

B_ID
 1
 2
我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果。这就是我所尝试的:

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
我希望能够计算B_ID中存在的A_ID的条目数,然后将TableA amount乘以count函数的结果

我想你只是想:

select sum(a.amount)
from tablea a join
     tableb b
     on a.a_id = b.b_id;
如果您希望按照a_id执行此操作:

使用以下查询:

从中选择金额、金额/计数 从表A中选择金额count1作为计数 内连接表B 在A.A_ID=B.B_ID上 按数量分组;
显示你想要的结果。@GordonLinoff很抱歉,我添加了我的预期结果。第二个答案就是我想要的,谢谢你的帮助!
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;