Mysql 计算两个表的列之差
我是mysql和php的新手,还没有做复杂查询的经验。 感谢stackoverflow上的一些用户,下面的查询现已成功运行。 我现在缺少的最后一点是在这个查询中计算第一季度的总成本和第二季度的成本之间的差异。提前谢谢你的帮助。干杯Mysql 计算两个表的列之差,mysql,Mysql,我是mysql和php的新手,还没有做复杂查询的经验。 感谢stackoverflow上的一些用户,下面的查询现已成功运行。 我现在缺少的最后一点是在这个查询中计算第一季度的总成本和第二季度的成本之间的差异。提前谢谢你的帮助。干杯 Select * from ( SELECT invoice.eventid, invoice.invoiceno, event.clientid, client.clientid, clientname, gross_amount, vat, total, due
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等…”。然后你可能会神奇地想到解决问题的办法!这太完美了。非常感谢。最后很容易。