按格式化字符串分组的sql联合

rqdpfwrv  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(368)

我试图对两个不同表中的两列求和,并按格式化字符串进行分组和排序。
模式要点如下:

Table A:

* Created At
* Amount Charged

Table B:

* Created At
* Cash Amount

请注意,它们共享一个名为“created at”的列名,但是对于我要总结的内容,它们有不同的列名。
我想要一个结果,1月份,表a的收费金额+表b的现金金额之和是x,2月份,依此类推。
以下是我如何格式化日期:
str\ u to\ u date(concat(日期格式( created_at ,“%y-%m”),“-01”)

tkclm6bt

tkclm6bt1#

你可以用 UNION ALL :

SELECT str_to_date(concat(date_format(created_at, '%Y-%m'), '-01'), SUM(sub.c)
FROM (SELECT created_at, Amount AS c
      FROM tabA
      UNION ALL 
      SELECT created_at, Cash
      FROM tabB) sub
GROUP BY str_to_date(concat(date_format(created_at, '%Y-%m'), '-01');

我将取代 str_to_date(concat(date_format(created_at, '%Y-%m'), '-01')EXTRACT(YEAR_MONTH FROM created_at)

相关问题