Retourner tout les enregistrement

Résolu/Fermé
Signaler
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018
-
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018
-
Bonjour,

je rencontre un petit soucis voici mon code:

SELECT

e.id, 
e.title AS Titre,
c.title AS Catégorie,
e.shortdesc AS Libelé,
COUNT(r.people) AS Inscription ,
LEFT (RIGHT (e.params, LENGTH(e.params) - INSTR(e.params, "maxReg") -8  ),3 )AS Place,
(LEFT (RIGHT (e.params, LENGTH(e.params) - INSTR(e.params, "maxReg") -8  ),3 )) - (COUNT(r.people) ) AS Libre

FROM #__icagenda_events e  
JOIN #__icagenda_category c ON c.id = e.catid  
JOIN #__icagenda_registration r ON r.eventid = e.id 
WHERE e.state = TRUE AND r.state = TRUE
GROUP BY e.id

COUNT(r.people) AS Inscription , me retourne seulement les enregistrements avec inscription et pas tout les autres sans inscription.

Merci d'avance pour votre aide.

EDIT : Correction des balises de code

2 réponses

Messages postés
17754
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2021
950
bonjour, qu'est ce qui caractérise un enregistrement avec inscription?
cela va-t'il mieux sans le WHERE?
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

bonjour merci pour votre réponse,
bonjour, qu'est ce qui caractérise un enregistrement avec inscription? 

C'est r.eventid de la table registration

sans le WHERE je n'ai que un enregistrement affiché.
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

c'est le nombre de personne que l'on inscrit, mais c'est toujours 1
Messages postés
17754
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2021
950 >
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

et alors ceci?
SELECT
e.id, 
e.title AS Titre,
c.title AS Catégorie,
e.shortdesc AS Libelé,
sum(r.people) AS Inscription ,
e.params,
LEFT (RIGHT (e.params, LENGTH(e.params) - INSTR(e.params, "maxReg") -8  ),3 ) AS Place,
(LEFT (RIGHT (e.params, LENGTH(e.params) - INSTR(e.params, "maxReg") -8  ),3 )) - (SUM(r.people) ) AS Libre
FROM #__icagenda_events e  
JOIN #__icagenda_category c ON c.id = e.catid  
LEFT JOIN #__icagenda_registration r ON r.eventid = e.id and r.state = TRUE
WHERE e.state = TRUE 
group by e.id, 
e.title ,
c.title ,
e.shortdesc ,
e.params
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

oui formidable, j'ai juste enlevé e.params, mais pourquoi on ajoute les valeurs à la fin?
e.title ,
c.title ,
e.shortdesc ,
e.params
Messages postés
17754
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2021
950 >
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

dans le group by, on met toutes les valeurs qu'on regroupe avant de faire la somme de r.people. je pense que les changements principaux sont les lignes 12 et 13.
Messages postés
24
Date d'inscription
mercredi 15 février 2006
Statut
Membre
Dernière intervention
17 décembre 2018

Merci pour tout.
Bonne journée