我有这两个表。
表收入
ID |已验证 |收入|日期
1 123 12 2017-03-01
2 99 44 2017-03-01
3 66 44 2017-04-01
4 66 44 2017-04-01
5 66 44 2017-05-01
表成本
ID |成本|日期
1 123 2017-04-01
2 99 2017-04-01
3 77 2017-05-01
4 33 2017-05-01
5 66 2017-06-01
我需要获取 SUM(VALIDATED) [一整月的总和,例如 2017-03 是 123 + 99]、SUM(REVENUE)[一整月的总和,例如 2017-03 是 12 + 44] 、SUM(COSTS)[整个月的总和,例如 2017-03 是 0 + 0,因为该月没有成本] 和 DATE VALUES 按日期排序。 结果应该是这样的:
结果查询
已验证 |收入|成本|日期
222 56 0 2017-03
132 88 22 2017-04
66 44 22 2017-05
0 0 66 2017-06
我已经将该查询分开了
SELECT
SUM(validated) AS 'validated',
SUM(revenue) AS 'revenue',
DATE_FORMAT(Date, '%Y-%m') AS Date
FROM incomes WHERE date LIKE '%2017%'
GROUP BY(DATE_FORMAT(Date, '%Y-%m'));
<小时/>
SELECT
SUM(validacion) AS 'costes',
DATE_FORMAT(Date, '%Y-%m') AS Date
FROM costes WHERE date LIKE '%2017%'
GROUP BY(DATE_FORMAT(Date, '%Y-%m'));
请提供帮助,我们将不胜感激。
最佳答案
SELECT
SUM(validated) AS 'validated',
SUM(revenue) AS 'revenue',
SUM(COS.COSTS) COSTS,
DATE_FORMAT(Date, '%Y-%m') AS Date
FROM
incomes INC
INNER JOIN
costes COS ON DATE_FORMAT(INC.Date, '%Y-%m') = DATE_FORMAT(COS.Date, '%Y-%m')
GROUP BY DATE_FORMAT(INC.Date, '%Y-%m')
尝试上面的查询。
关于php - 在一个 mysql 中连接两个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45144738/