【发布时间】:2020-01-25 10:12:08
【问题描述】:
我有这张表叫销售:
vat, activation
12345 2017-07-28
567892 2018-08-21
224124 2016-08-22
这张表叫做发票:
cif, billdate, amount
12345 2017-07-19 200
12345 2017-07-29 250
12345 2017-08-02 3000
224124 2016-08-24 400
224124 2018-09-08 2499
我想要一张这样的桌子:
vat, activation, first_month_amount
12345 2017-07-28 450
224124 2016-08-22 400
567892 2018-08-21 200
基本上是激活当月计费的所有发票的总和。
到目前为止,我尝试过这个:
select * from sales
LEFT JOIN (
SELECT vat,sum(amount) as first_month_amount
FROM invoices
WHERE month(billdate)=month(activation)
Group by cif
) as salesdata on sales.vat = salesdata.cif
查询失败,因为找不到激活列。
第二次尝试是:
select * from sales
LEFT JOIN (
SELECT vat,sum(amount) as first_month_amount
FROM invoices
WHERE month(billdate)=month(activation)
Group by cif
) as salesdata on sales.vat = salesdata.cif
再次失败,因为找不到 billdate 列
如何做到这一点?
【问题讨论】:
标签: mysql join sum where-clause