简体   繁体   English

SQL 子查询涉及计算涉及多表

[英]SQL sub-query involving calculations that involves multiple tables

can you all show me how to convert the SQL query below into sub-query?大家能告诉我如何将下面的 SQL 查询转换为子查询吗? I have attempted it multiple times and I still can't find the solution to it.我已经尝试了很多次,但我仍然找不到解决方案。 Thank you.谢谢你。

SELECT  
FARMER.Farmer_name AS "Farmer's Name",  
SUM((PRODUCE.Product_price * 0.5) * CART.Quantity * 15/100) AS "Profit Loss" 
FROM  
CART, PRODUCE, FARMER, PAYMENT, PURCHASE 
WHERE
PURCHASE.Order_date BETWEEN TO_DATE ('06/09/2020', 'DD/MM/YYYY') AND TO_DATE ('08/09/2020', 'DD/MM/YYYY') AND 
PAYMENT.Payment_status = 'Paid' AND 
CART.Order_id = PURCHASE.Order_id AND 
CART.Order_id = PAYMENT.Order_id AND 
PRODUCE.Farmer_id = FARMER.Farmer_id AND  
PRODUCE.Product_code = CART.Product_code AND 
PAYMENT.Order_id = PURCHASE.Order_id 
GROUP BY  
FARMER.Farmer_name 
ORDER BY  
"Profit Loss" DESC; 

if you want to create a subquery with the return of the current query is much cleaner if you use a view like:如果你想创建一个带有当前查询返回的子查询,那么如果你使用如下视图:

CREATE VIEW view_name AS
//content of your query

and then calling the view like然后像这样调用视图

SELECT * FROM view_name; //or any selection

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM