【发布时间】:2020-12-10 08:08:30
【问题描述】:
我在一侧有一张周转台,上面有:
Storeid Turnover myDate
| 1 | 1000 | 2020-01-01 |
| 1 | 200 | 2020-01-02 |
| 1 | 4000 | 2020-01-03 |
| 1 | 1000 | 2020-01-05 |
另一方面,我有一张交易数量的表格:
Storeid Transactions myDate
| 1 | 20 | 2020-01-01 |
| 1 | 40 | 2020-01-03 |
| 1 | 20 | 2020-01-04 |
| 1 | 60 | 2020-01-05 |
我需要计算给定日期范围内的营业额总和和交易总和。但是,我可能在任何一张桌子上都缺少日期。如果我将它们单独相加,我会得到每个但任何类型的内连接或左连接的正确答案,我会得到不完整的答案(如下所示):
select sum(Turnover), sum(transactions) from TurnoverTable
left join TransactionTable on TurnoverTable.storeid = TransactionTable.storeid and
TurnoverTable.myDate = TransactionTable.myDate where TurnoverTable.myDate >= '2020-01-01'
这将为 Turnover 6200 和 Transactions 120 生成总和(2020-01-04 日期缺少 20,因为该日期在 Turnover 表中不可用,因此在联接中失败)。
缺少运行 2 个选择总和查询,有没有办法运行这些总和?
非常感谢。
【问题讨论】:
标签: mysql sql sum inner-join full-outer-join