我有一个查询,用于从table计算发票invoice
。该发票的相关税费位于tax_recv
表格中。在tax_recv
将被捆绑在发票多行invoice
表。
我有一个查询,该查询可计算12个月的发票并按其相应日期订购。这是查询:
SELECT
invoice_amount + late_fee + SUM(c.tax) AS amount, tollfree_json, date_generated
FROM
invoices as i
LEFT JOIN
csi_tax_recv as c
ON
c.invoice_number = i.id
WHERE
DATE_FORMAT(date_generated,'%Y-%m') < DATE_FORMAT(NOW(),'%Y-%m')
AND
DATE_FORMAT(date_generated,'%Y-%m') >= DATE_FORMAT(NOW() - INTERVAL 12 MONTH,'%Y-%m')
ORDER BY
date_generated
此查询的唯一问题是仅返回一行吗?不确定到底是为什么。我删除左联接和SUM(c.tax)(这是我认为引起问题的原因)的那一刻,查询的效果很好。
最终结果应如下所示:
invoice_amount + total_taxes_for_invoices, tollfree_json, date_generated
干杯。
就像人们所说的那样,您需要对要获得税收总和的字段进行分组,并使用该总和进行计算,如下所示:
SELECT
i.tollfree_json,
i.date_generated,
(i.invoice_amount + i.late_fee + SUM(c.tax)) AS amount
FROM
invoices as i JOIN csi_tax_recv as c ON i.id = c.invoice_number
WHERE
DATE_FORMAT(date_generated,'%Y-%m') < DATE_FORMAT(NOW(),'%Y-%m')
AND
DATE_FORMAT(date_generated,'%Y-%m') >= DATE_FORMAT(NOW() - INTERVAL 12 MONTH,'%Y-%m')
GROUP BY
i.tollfree_json,
i.date_generated
ORDER BY
i.date_generated
通过此查询,您将获得每个tollfree_json
和date_generated
组合所累加的税款总和,如果要查找的话,可以将invoice_amount和late_fee添加到该总和中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句