我用了发票和付款两张表。
我试着创造有报酬,到期和未付的状态。
以下是我的查询,这将给出所有发票和总付款。
如何应用条件筛选已付款、到期、未付款。
我付不起
以下是成功的查询:

select a.*, sum(b.amount) as paidamount from tbl_invoices a left join tbl_billpayment b on a.invoiceno = b.invoiceno where a.id != '' GROUP BY b.invoiceno ORDER BY a.billdate DESC LIMIT 0,10

这将导致错误
select a.*, sum(b.amount) as paidamount from tbl_invoices a left join tbl_billpayment b on a.invoiceno = b.invoiceno where a.id != '' and ( paidamount >= a.total)

注意:错误:“where子句”中的未知列“paidamount”
谢谢你的支持

最佳答案

问题就在这种情况下。

( paidamount >= a.total)

而是像这样使用
(sum(b.amount) >=a.total)

paidamount只是一个别名,它将在投影时替换名称。

10-04 19:45