0
总和我有3个表MySQL的选择了从一个表与其他2个表
发票:ID,客户
服务:invioce_id,价格
付款:INVOICE_ID,量
我想要选择所有服务价格均为amountDue且任何付款金额为每张发票的amountPaid的所有发票。
因此,举例来说,如果我有以下行:
发票
id = 1, client = 232
id = 2, client = 535
服务
invoice_id = 1, price = 5.00
invoice_id = 1, price = 10.00
invoice_id = 2, price = 20.00
支付
invoice_id = 1, amount = 7.00
invoice_id = 2, amount = 12.00
invoice_id = 2, amount = 8.00
我想对所有发票结果查询行是这样的:
发票
id = 1, client = 232, amountDue = 15.00, amountPaid = 7.00
id = 2, client = 535, amountDue = 20.00, amountPaid = 20.00
我有这样的查询:
SELECT invoices.*,
sum(services.price) AS amountDue,
sum(payments.amount) AS amountPaid
FROM invoices
LEFT JOIN services ON services.invoice = invoices.id
LEFT JOIN payments ON invoices.id = payments.invoice
GROUP BY invoices.id
但由此产生的amountPaid正在被服务的每个发票的数量成倍增加。
有没有办法用一个查询来提取所有数据?
谢谢!这工作。 – user1218595 2013-02-17 00:00:36
是否有可能采取这一步,并只选择payment_amount
user1218595
2013-02-17 00:01:25
当然,只需在查询中添加'having'子句:'...从具有payment_amount
2013-02-17 03:12:42