postgresql 将 2 个不同日期的查询合并为 1 个 table

postgresql merge 2 queries with different dates into 1 table

所以我是 postgres 的新手,想将两个查询合并为一个。这是我的 table:

查询:

SELECT area, SUM(volume) as "4/18/22 Volume"
FROM test
WHERE report_date = '2022-04-18'
GROUP BY area;

SELECT area, SUM(volume) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-25'
GROUP BY area;

哪个给我这个:

现在我希望 2 个音量列彼此相邻,例如:

area | 4/18/22 volume | 4/25/22 volume
---------------------------------------
area1|    331         |    265
area2|    520         |    248

我该如何完成?

您可以在 SUM 中使用 CASE。

SELECT 
  area, 
  SUM(case when report_date = '2022-04-18' then volume else 0 end ) as "4/18/22 Volume",
  SUM(case when report_date = '2022-04-25' then volume else 0 end ) as "4/25/22 Volume"
FROM test
WHERE report_date = '2022-04-18' 
   OR report_date = '2022-04-25'
GROUP BY area;