現在の状況で機能するクエリを生成するのに問題があります。詳細は次のとおりです...
1テーブル=請求
1テーブル=請求日
請求=基本的に請求書が生成されると、主キー、請求書ID、ユーザーID、ユーザーユーザー名、実際の名前、請求日、請求書の合計、および行われた支払いを使用して請求の行が作成されます。
請求日=請求書に対して支払いが行われると、主キー、ID(請求テーブルの主キーと同じ)、請求書ID(の請求書IDと同じ)を使用して請求日の行が作成されます。請求)、ユーザーID(請求のユーザーIDと同じ)、支払日、支払額
未処理の各請求書をプルして、PHPの30/60/90/90+テーブルにエンドユーザーに表示するエージングレポートを作成しようとしています。したがって、請求書#12に100ドルの残高があり、10ドルの支払いが2回あり、請求書が60日経過している場合、この情報がレポートに表示されます。これが私が持っているものです...
$sql17 = "SELECT
$mysql_billing.login_id, $mysql_billing.primary_key, $mysql_billing.a_name,
SUM($mysql_billing.custotal) AS finaltotal,
SUM($mysql_billing_dates.amount) AS paidtotal,
$mysql_billing.custotal - $mysql_billing_dates.amount AS total
FROM $mysql_billing
LEFT JOIN $mysql_billing_dates ON $mysql_billing.login_id = $mysql_billing_dates.login_id
GROUP BY login_id
ORDER BY a_name ASC";
私がそれを実行すると、いくつかは正しいですが、ほとんどは正しくありません。矛盾が何であるか理解できません。何かアイデアをいただければ幸いです。間違った道を進んでいるのではないでしょうか。
詳細
次のことを行うと、正しい値が表示されます...
SELECT
$mysql_billing.login_id, $mysql_billing.primary_key, $mysql_billing.a_name,
SUM($mysql_billing.custotal) AS finaltotal
FROM $mysql_billing
GROUP BY login_id
ORDER BY a_name ASC
しかし、元の例では、常に正しい値を取得するとは限りませんか?