ここでこれらのクエリ文字列を取得しました...
SELECT
c.clientid, c.clientname, c.billingdate,
i.total - (select ifnull(sum(p.amount), 0) from payment p
where p.invoice = i.invoiceid Order by i.invoiceid) AS remaining
FROM
client c
INNER JOIN
invoice i
WHERE
c.clientid = i.client
ORDER BY
clientname
それが行うことは、すべてのクライアント、請求日、および残りの残高のリストを取得することです。クライアントへの請求書もあり、各請求書には残高があります。私がやろうとしているのは、クライアントごとにクライアントの最新の残高 (id 値が最も高い請求書) を取得することです。
私が持っているクエリは、請求書ごとの残りの残高とともに各クライアントを複数回リストします...
client 1 0.00
client 1 1.00
client 1 3.00
私が探しているのは次のようなものです
client 1 0.00
client 2 3.00
client 3 5.00
私がやりたいことが理にかなっていることを願っています。私も試しOrder by MAX(i.invoiceid)
ましたが、クライアントは 1 つしか返されません。