对SQL和IT界来说很新,在寻求帮助之前总是做很多工作,但这次我很难过。
我有三张桌子:
所以我试图通过执行以下操作来更新“payment_owed”表: 获取food_id和quantity,然后使用food_id将数量乘以成本。
我迄今为止做得最好的是表格上的自然联接,并试图总结每个ID的数量*成本
我对更新特定客户的理解:
update customer
set payment_owed = (select <quantity>) * (select <cost>)
where cust_no = 1;
如果我不在正确的论坛上,或者有更好的地方提出这些问题请告诉我,谢谢您的时间!
答案 0 :(得分:2)
简单地:
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;