すべての顧客レコードを取得し、その顧客 (points_audit_customers.id = points_audit_documents._audit_id) に一致するドキュメントを見つける次の SQL がありますが、一致するドキュメントがないすべての顧客をスキップしています。当初は問題ありませんでしたが、現在は仕様が変更されており、すべての顧客が来る必要があります。ドキュメントが見つからない場合でも、顧客の詳細を表示しますが、SQL のドキュメント フィールドはゼロまたは null のままにしておきます。
これは可能ですか?どういうわけかCASEを使用できないかと思っていましたか?SQL を変更して顧客の詳細のみを選択することができない場合は、PHP ループで一致するドキュメントを選択できます。できれば SQL ステートメントを使用することをお勧めします。
ありがとうございました
SELECT points_audit_customers.*, points_audit_documents.branch,
SUM(points_audit_documents.amount_invoiced) AS the_amount_invoiced,
SUM(points_audit_documents.amount_spent) AS the_amount_spent,
SUM(points_audit_documents.points_invoiced) as invoiced_points,
SUM(points_audit_documents.points_spent) as spent_points,
SUM(points_audit_documents.points_bonus) as bonus_points
FROM points_audit_customers, points_audit_documents
WHERE import_month = '$import_month'
AND points_audit_customers.id = points_audit_documents.audit_id
AND processed = 1