会費を支払わなければならない会員がいます。そして、支払い日と会員期間(1か月または数か月分を支払うことができます)を保存します。
どの支払いが期限切れか、または間もなく期限切れになるかを知りたいのですが。
私のロジックは、各メンバーシップの有効期限 (最後の支払い日 + メンバーシップ期間) を取得し、各メンバーのその最大値を調べることでした。
これが私のクエリですが、理由を説明したいと思います。DB のフォーマットについても質問したいかもしれません (ただし、有効期限を保存するように言わないでください)。
SELECT tbl.company AS company,
MAX(ADDDATE( paydate, INTERVAL paylength MONTH ))) AS expiration,
tbl.id
FROM tblPayments
JOIN tbl ON tblPayments.comp_id = tbl.id
GROUP BY expiration
ORDER BY expiration ASC
計算フィールドによるグループ化ができない可能性があることを読みましたが、MySQL に関する私の知識は回避策を理解するのに十分ではありません。あなたが提供できる助けをいただければ幸いです!ありがとう!