我有两个表,其中一个表TABLE2有一个TABLE1_IDs列,因此TABLE2和TABLE1行之间存在多对一关系。表2具有列PRICE,其是表示美元金额的数字。我有一个获取TABLE1的某些行的查询,但我希望将所有相应的TABLE2行的PRICE值的总和作为查询结果中的附加列。
如何在Oracle中完成此任务?
答案 0 :(得分:4)
轻松 - 加入,总结。
select t1.table1_id
, sum(t2.price) total_price
from table1 t1
, table2 t2
where t1.table1_id = t2.table1_id
group by t1.table1_id;
答案 1 :(得分:3)
我相信你想要这样的东西:
SELECT A.Id, SUM(B.Price) TotalPrice
FROM ( SELECT *
FROM Table1
WHERE Something) A
LEFT JOIN Table2 B
ON A.Id = B.Table1_id
GROUP BY A.Id