La requête suivante est tous les s de retournaient » où affiliate_id
le montant dû est plus de 50.Utilisation d'une jointure dans une sous-requête?
SELECT
t1.affiliate_id
FROM
(
SELECT affiliate_id, SUM(payout) AS payout_total
FROM exp_cdwd_aff_purchases
GROUP BY affiliate_id
) t1
LEFT JOIN
(
SELECT affiliate_id, SUM(amount_paid) AS amount_paid_total
FROM exp_cdwd_aff_payments
GROUP BY affiliate_id
) t2
ON t1.affiliate_id = t2.affiliate_id
WHERE t1.payout_total > COALESCE(t2.amount_paid_total, 0) + 50
Je dois aussi retourner une adresse e-mail pour chaque affiliate_id
de la table exp_member_data
. Le affiliate_id
peut être référencé par rapport à member_id
.
Je pensais que ce qui suit pourrait fonctionner, mais ce n'est pas le cas. Quelqu'un peut-il expliquer comment je peux obtenir ce résultat?
SELECT
t1.affiliate_id, t1.m_field_id_26
FROM
(
SELECT af.affiliate_id, SUM(af.payout) AS payout_total, md.m_field_id_26
FROM exp_cdwd_aff_purchasesAS af
LEFT JOIN exp_member_data AS md.member_id = af.affiliate_id
GROUP BY affiliate_id
) t1
LEFT JOIN
(
SELECT affiliate_id, SUM(amount_paid) AS amount_paid_total
FROM exp_cdwd_aff_payments
GROUP BY affiliate_id
) t2
ON t1.affiliate_id = t2.affiliate_id
WHERE t1.payout_total > COALESCE(t2.amount_paid_total, 0) + 50