1
我很麻烦,我需要你的帮助,我有两个表的销售和恢复。我的要求是获得明智的报告月份,所以我在Union All查询时使用了date_format,它的工作正常,但问题是如果月份相同,问题在于它显示不同行销售和恢复的结果。PHP Mysql如何在相同的行中获得结果如果月份相同
售:
ID(unique) Party Amount Sale_Date
1 95 1500 01-05-2017
2 97 3500 15-05-2017
3 95 2500 05-06-2017
4 97 500 10-06-2017
5 99 1000 01-07-2017
恢复:
ID(unique) Party Amount Recovery_Date
1 95 1000 01-06-2017
2 97 2000 20-06-2017
3 95 3500 10-07-2017
4 97 900 10-07-2017
5 99 1500 15-08-2017
我想要得到的结果一个月明智的,所以我使用DATE_FORMAT与UNION ALL查询。下面是我正在使用的查询。
"SELECT SUM(amount) as sale_amount, DATE_FORMAT(Sale_Date, '%M %Y'),
null as recovery_amount FROM
`SALE` GROUP BY DATE_FORMAT(Sale_Date, '%M %Y')
UNION ALL
"SELECT null as sale_amount, DATE_FORMAT(Sale_Date, '%M %Y'),
SUM(amount) as recovery_amount FROM
`SALE` GROUP BY DATE_FORMAT(Sale_Date, '%M %Y')
结果:
S.No Month Sale Recovery Balance
1 May-2017 5000 5000
2 June-2017 3000 3000
3 June-2017 3000 -3000
4 July-2017 1000 1000
5 July-2017 4400 -4400
6 Aug-2017 1500 -1500
上述结果是正确的,但我需要的结果在下面的格式,以获得正确的平衡量
预期结果:
S.No Month Sale Recovery Balance
1 May-2017 5000 5000
2 June-2017 3000 3000 0
3 July-2017 1000 4400 -3300
4 Aug-2017 1500 -1500
怎么样?你能为我创建查询吗? –