【发布时间】:2016-01-15 17:58:29
【问题描述】:
(我正在使用 postgres)
我有两个来自不同表的查询。每个都按日期分组。 将它们加入一个查询(UNION 或 JOIN)的最佳方法是什么? 提前致谢。
查询№1:
SELECT to_char(date,'MM') as mon,
extract(year from date) as yyyy,
SUM("table_1"."user_money") AS user_sum,
SUM("table_1"."system_money") AS system_sum
FROM "table_1"
GROUP BY 1,2
ORDER BY 2,1;
查询 №1 的结果:
mon | yyyy | user_sum | system_sum
-----+------+------------------+-----------------
11 | 2015 | 10 | 50
12 | 2015 | 20 | 60
(2 rows)
查询№2:
SELECT to_char(created_at,'MM') as mon,
extract(year from created_at) as yyyy,
SUM("table_2"."amount") AS payments_sum
FROM "table_2"
GROUP BY 1,2
ORDER BY 2,1;
查询 №2 的结果:
mon | yyyy | payments_sum
-----+------+--------------
10 | 2015 | 500
11 | 2015 | 600
12 | 2015 | 700
01 | 2016 | 800
(4 rows)
要求的结果:
mon | yyyy | payments_sum | user_sum | system_sum
-----+------+--------------+------------------+----------------
10 | 2015 | 500 | |
11 | 2015 | 600 | 10 | 50
12 | 2015 | 700 | 20 | 60
01 | 2016 | 800 | |
(4 rows)
【问题讨论】:
-
你在两个表中都有一个列来相互链接吗?
-
@AndreasSchmidt 不,我没有
标签: sql postgresql join group-by union