テーブル コントラクト c (id, exp_date) とテーブル メンバー m (id, cid) があります。m.cid = c.id の 2 つのテーブルを結合して、すべてのコントラクトとすべてのメンバーを一緒にカウントする必要があります。
私はこれを試しましたが、両方のテーブルから同じカウント結果を返すため、明らかに正しくありません
SELECT count(m.id) as totmembers , count(c.id) as totcontracts
from members m
join contracts c on m.cid = c.id
where DATEDIFF(c.im_exp, CURDATE()) > 0
結果は 5000 契約、12.000 メンバーのようになるはずですが、totmembers と totcontracts の両方で 12.000 を取得しています。