[英]Subtracting calculated values from two different tables in SQL (MySQL)
[英]SQL Adding and Subtracting Data From Two Different Tables
我是SQL新手,这是我一生中第一个SQL程序。 我要制作一个具有以下内容的程序:
注意:
QuickPay= Rate*0.05
NetPay=Rate-(DispatchFee+QuickPay),
TotalExpenses= Fuel+Advance+Insurance+Trailer
FinalPay=NetPay-TotalExpenses
我已经为每个表创建了一个查询,以进行计算,但是我需要将所有查询合并到一个查询中。 这是查询的代码:
查询TblLInfo
SELECT CustName, sum(Rate) AS RateFee, sum(Disp_Fee) AS DispFee, sum(Rate*0.05) AS QuickPay, sum((Rate)-((Rate*0.05)+(Disp_Fee))) AS NetPay
FROM TblLInfo
GROUP BY CustName;
查询TblExp
SELECT CustName, sum(Fuel) AS FuelFee, sum(Advance) AS AdvanceFee, sum(Insurance) AS InsuranceFee, sum(Trailer) AS TrailerFee,
sum((Advance)+(Insurance)+(Trailer)+(Fuel)) AS TotalExp
FROM TblExp
GROUP BY CustName;
当我尝试将它们组合时,结果是9(3 * 3)条记录,因为我期望只有3条记录。
[TblLInfo,(表负荷信息),用于收集每周运送一位客户的负荷] [1]
[TblExp(表费用),用于收集每个客户的每周费用] [2]
[查询TblLInfo,以获取特定客户承担的所有负载的总和并减去调度费,这样我们就可以获得净工资] [3]
[查询TblExp,以获取特定客户的总费用] [4]
![在此处输入图片描述] [1]
![在此处输入图片描述] [2]
SELECT a.CustName,a.NetPay,b.TotalExp,(b.TotalExp-a.NetPay) AS overall_profit
FROM
(SELECT CustName, sum(Rate) AS RateFee, sum(Disp_Fee) AS DispFee, sum(Rate*0.05) AS QuickPay, sum((Rate)-((Rate*0.05)+(Disp_Fee))) AS NetPay FROM TblLInfo GROUP BY CustName) a
INNER JOIN
(SELECT CustName, sum(Fuel) AS FuelFee, sum(Advance) AS AdvanceFee, sum(Insurance) AS InsuranceFee, sum(Trailer) AS TrailerFee, sum((Advance)+(Insurance)+(Trailer)+(Fuel)) AS TotalExp FROM TblExp GROUP BY CustName)b
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.