[英]Oracle SQL return sum of multiple across tables
刚接触SQL和IT领域的人并不多,在寻求帮助之前总是做很多工作,但是这次我很沮丧。
我有三个表:
因此,我尝试通过执行以下操作来更新“ payment_owed”表:对于每个客户,获取food_id和数量,然后使用food_id将数量乘以成本。
到目前为止,我所做的最好的事情就是表格上的自然连接,并尝试对每个ID的数量*成本求和
我对更新特定客户的理解:
update customer
set payment_owed = (select <quantity>) * (select <cost>)
where cust_no = 1;
如果我不在正确的论坛上,或者有更好的地方问这些问题,请告诉我,谢谢您的时间!
只是:
update customer
set payment_owed = (SELECT SUM(o.cost*s.quantity)
FROM order o JOIN session s ON s.food_id = o.food_id
WHERE s.cust_no = customer.cust_no)
where cust_no = 1;
无论如何,每次对表进行更改后,您都将对其进行更新吗? 如何使用像这样的视图:
CREATE VIEW my_view AS
SELECT cust_no, SUM(o.cost*s.quantity)
FROM order o
JOIN session s ON s.food_id = o.food_id
GROUP BY cust_no;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.