SQL - 从多个表中进行选择,其中一个表不返回任何结果

时间:2015-05-14 18:44:16

标签: mysql

我的数据库中有两个表

- billing_supplier_invoices
- billing_payments

billing_paymentsbilling_supplier_invoices中的每条记录billing_supplier_invoices.sequence = billing_payments.seq都有多条记录

我希望能够从billing_supplier_invoices中选择所有记录总和(billing_payments.amount)不等于billing_supplier_invoices.grand_total

的所有记录

我尝试过这样的事情:

Select billing_supplier_invoices.* 
from billing_supplier_invoices 
LEFT JOIN billing_payments 
     ON 
billing_supplier_invoices.sequence = billing_payments.invoice_sequence 
where type = 'Supplier' 
and billing_supplier_invoices.grand_total <> sum(billing_payments.amount)

但我得到一个SQL错误说

  

错误: 无效使用群组命令

3 个答案:

答案 0 :(得分:0)

Select  billing_supplier_invoices.*
From 
billing_supplier_invoices 
LEFT JOIN  billing_payments ON
billing_supplier_invoices.sequence = billing_payments.seq

答案 1 :(得分:0)

    SELECT * FROM billing_supplier_invoices 
WHERE billing_supplier_invoices.grand_total 
<>( SELECT sum (billing_payments.amount) 
FROM billing_payments 
WHERE billing_supplier_invoices.sequence = billing_payments.seq 
GROUP BY billing_payments.seq)

答案 2 :(得分:0)

我在PHP中使用了这段代码,并为一个表使用了while循环

然后我在while循环中使用单个查询从第二个表中进行选择,因为我想要运行的查询最终会在第一个查询中说where col1 > NULL