購読者に送信する各ニュースレターのコンテンツを格納するテーブル 'apst_mailings' に対してクエリを実行しようとしています。個人に電子メールを送信しようとするたびに、apst_mailings_accuses に行を挿入して、送信の時間と状態、およびニューレターの ID を報告します。ニュースレターを一覧表示し、それぞれの送信済みの合計と正常に送信された合計を数えたいと思います。
SELECT m.id AS code_mailing,
COUNT(a.adh_code) AS num, COUNT(b.adh_code) AS succes
FROM apst_mailings AS m
LEFT OUTER JOIN apst_mailings_accuses AS a
ON a.id_mailing = m.id
LEFT OUTER JOIN apst_mailings_accuses AS b
ON b.id_mailing = m.id
AND b.etat = 'succes'
GROUP BY m.id
そして、それは単にサーバーを永遠にハングアップさせます. 個別のクエリで各結合を試しましたが、問題なく機能しました。
// Counts the email sent per mailing
SELECT m.id AS code_mailing,
COUNT(a.adh_code) AS num
FROM apst_mailings AS m
LEFT OUTER JOIN apst_mailings_accuses AS a
ON a.id_mailing = m.id
GROUP BY m.id
SELECT m.id AS code_mailing,
COUNT(b.adh_code) AS succes
FROM apst_mailings AS m
LEFT OUTER JOIN apst_mailings_accuses AS b
ON b.id_mailing = m.id
AND b.etat = 'succes'
GROUP BY m.id
クエリを分割することはできましたが、それが機能しない理由が本当に気になります。誰でも説明できますか?
ありがとう!