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



我一直在努力整理这个问题,现在我可能想得太多了,所以希望你能帮助我。

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

将账户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

相关内容

  • 没有找到相关文章

最新更新