Mysql 计算两个表的列之差

Mysql 计算两个表的列之差,mysql,Mysql,我是mysql和php的新手,还没有做复杂查询的经验。 感谢stackoverflow上的一些用户,下面的查询现已成功运行。 我现在缺少的最后一点是在这个查询中计算第一季度的总成本和第二季度的成本之间的差异。提前谢谢你的帮助。干杯 Select * from ( SELECT invoice.eventid, invoice.invoiceno, event.clientid, client.clientid, clientname, gross_amount, vat, total, due

我是mysql和php的新手,还没有做复杂查询的经验。 感谢stackoverflow上的一些用户,下面的查询现已成功运行。 我现在缺少的最后一点是在这个查询中计算第一季度的总成本和第二季度的成本之间的差异。提前谢谢你的帮助。干杯

Select * from ( SELECT invoice.eventid, invoice.invoiceno, event.clientid, client.clientid, clientname, 
gross_amount, vat, total, due 
FROM client, invoice, event 
WHERE event.eventid = invoice.eventid 
AND event.clientid = client.clientid) 
as q1

inner JOIN (SELECT event_ma.eventid, 
salary.staffid, Sum(cost_hour * Time_to_sec(Timediff(hours, pause))) / 3600 AS costs 
FROM salary 
JOIN event_ma ON salary.staffid = event_ma.staffid GROUP BY event_ma.eventid) 
as q2  
ON q1.eventid = q2.eventid 

GROUP BY q1.eventid

在主
SELECT
-语句中添加计算字段:

Select *, (q1.total - q2.costs) AS difference
from ( SELECT invoice.eventid, invoice.invoiceno, event.clientid, client.clientid, clientname, 
gross_amount, vat, total, due 
FROM client, invoice, event 
WHERE event.eventid = invoice.eventid 
AND event.clientid = client.clientid) 
as q1

inner JOIN (SELECT event_ma.eventid, 
salary.staffid, Sum(cost_hour * Time_to_sec(Timediff(hours, pause))) / 3600 AS costs 
FROM salary 
JOIN event_ma ON salary.staffid = event_ma.staffid GROUP BY event_ma.eventid) 
as q2  
ON q1.eventid = q2.eventid 

GROUP BY q1.eventid

不要使用“选择*”。写出您实际想要返回的列的名称。。。“选择q1.id等…”。然后你可能会神奇地想到解决问题的办法!这太完美了。非常感谢。最后很容易。