将 2 SQL 个日期范围的结果输出到一个输出中

Outputting the results of 2 SQL date ranges into one output

多年来我一直试图对此进行排序,现在可能想得太多了,所以希望你能帮助我。

我有一笔销售交易 table。其中,是我想按帐户代码查看并并排放置的每笔交易的日期列表,但要使用日期范围

比较帐户 2019 年支出与其 2020 年支出

到目前为止,我只能得到其中之一,不能同时得到。

我看过嵌套选择、并集等等,但我想不起来了,但我一无所获。

我已经接近了,我想用这段代码:

SELECT inv_account, 
    (SELECT SUM(basevalue)) from salestrans WHERE inv_invoicedate BETWEEN '2019-04-01' AND '2020-03-31'), 
    (SELECT SUM(basevalue)from salestrans WHERE inv_invoicedate BETWEEN '2020-04-01' AND '2021-03-31') 
FROM salestrans
GROUP BY inv_account

这是每个帐户的总数,而不是单个帐户的总数。现在我需要按个人帐户对其进行过滤,我假设它位于括号中的 SELECT 中的某个位置,但不确定如何执行此操作。

使用条件聚合:

SELECT inv_account, 
       SUM(CASE WHEN inv_invoicedate BETWEEN '2019-04-01' AND '2020-03-31' THEN basevalue ELSE 0 END) total1, 
       SUM(CASE WHEN inv_invoicedate BETWEEN '2020-04-01' AND '2021-03-31' THEN basevalue ELSE 0 END) total2
FROM salestrans
GROUP BY inv_account