MYSQL子查询还是左连接?
我正在做一个小的发票申请,我被困在一个查询,以获得我的发票的总未结金额 一点解释: 我在数据库中有两个表,发票和付款在发票id列上有关联。一张发票可以有多笔付款 我想得到的是所有发票的总未结金额MYSQL子查询还是左连接?,mysql,subquery,left-join,Mysql,Subquery,Left Join,我正在做一个小的发票申请,我被困在一个查询,以获得我的发票的总未结金额 一点解释: 我在数据库中有两个表,发票和付款在发票id列上有关联。一张发票可以有多笔付款 我想得到的是所有发票的总未结金额 SELECT COUNT( * ) AS count, SUM( invoice_amount_total ) AS total, (SELECT SUM( amount ) AS total FROM `invoice_payments` WHERE `invoice
SELECT
COUNT( * ) AS count,
SUM( invoice_amount_total ) AS total,
(SELECT
SUM( amount ) AS total
FROM `invoice_payments`
WHERE `invoice_id` = s.id) AS total_paid
FROM sales_invoices AS s
WHERE s.administration_id = 3
AND (`invoice_amount_total` <> (SELECT
SUM( `amount` ) AS sum
FROM `invoice_payments`
WHERE `invoice_id` = s.id)
OR (SELECT
SUM( amount ) AS sum
FROM `invoice_payments`
WHERE `invoice_id` = s.id)IS NULL)
这是我试过的,但不起作用
支付的总金额不正确,它是最后一张发票的总和,而不是所有发票的总和
SELECT
COUNT( * ) AS count,
SUM( invoice_amount_total ) AS total,
(SELECT
SUM( amount ) AS total
FROM `invoice_payments`
WHERE `invoice_id` = s.id) AS total_paid
FROM sales_invoices AS s
WHERE s.administration_id = 3
AND (`invoice_amount_total` <> (SELECT
SUM( `amount` ) AS sum
FROM `invoice_payments`
WHERE `invoice_id` = s.id)
OR (SELECT
SUM( amount ) AS sum
FROM `invoice_payments`
WHERE `invoice_id` = s.id)IS NULL)
有什么想法吗?样本数据和期望的输出在哪里?什么意思,但它不起作用?是否有错误或只是没有输出/不是所需的输出?对不起,输出不正确。支付的总金额不正确,它是最后一张发票的总和,而不是所有发票的总和。