COUNT et SUM dans une jointure
Bonjour,
J'ai la solution à mon problème mais je me demande si c'est la bonne !
Je fais une jointure sur une table dont je souhaite additionner un total de ventes et un total d'offres souscrites.
Ma première intuition était de procéder ainsi car la table ventes contient plusieurs entrées et je ne souhaitais n'en ramener qu'une cumulée :
Code:
1 2 3 4 5 6 7 8 9
|
SELECT P.id, P.Commune_ref, P.Statut, montant_total_n1, nb_offres_n1
FROM partenaires P
LEFT JOIN (
SELECT `idpartenaire`, SUM(montant) AS montant_total_n1, COUNT(offre) AS nb_offres_n1
FROM `ventes`
) AS table_montant_total_n1
ON P.id = table_montant_total_n1.idpartenaire
WHERE `id` = 'identifiant' |
Je m'aperçois que le montant_total_n1 et nb_offres_n1 me ramènent "NULL"... comme un message caché pour me décrire !
Par contre :
Code:
1 2 3 4 5 6 7 8 9
|
SELECT P.id, P.Commune_ref, P.Statut, SUM(montant) AS montant_total_n1, COUNT(offre) AS nb_offres_n1
FROM partenaires P
LEFT JOIN (
SELECT `idpartenaire`, montant, offre
FROM `ventes`
) AS table_montant_total_n1
ON P.id = table_montant_total_n1.idpartenaire
WHERE `id` = 'identifiant' |
Me ramènent effectivement les valeurs correctes cumulées.
Est-ce bien comme cela qu'il faut procéder ?
Merci d'avance pour vos conseils.