Retourner tout les enregistrement

Résolu/Fermé
cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018 - Modifié le 11 déc. 2018 à 10:03
cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018 - 13 déc. 2018 à 08:14
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
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
11 déc. 2018 à 15:45
bonjour, qu'est ce qui caractérise un enregistrement avec inscription?
cela va-t'il mieux sans le WHERE?
0
cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018
11 déc. 2018 à 17:18
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é.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 11 déc. 2018 à 19:31
c'est un peu compliqué, parce que tu nous montres une requête qui ne fonctionne pas, sans décrire ni la structure de tes tables, ni ce que tu obtiens, ni ce que tu veux obtenir.
et ainsi, as-tu tous les évènements?
SELECT
e.id, 
e.title AS Titre,
c.title AS Catégorie,
e.shortdesc AS Libelé,
r.people AS Inscription ,
e.params
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 
0
cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018
Modifié le 11 déc. 2018 à 19:36
oui là j'ai tout, c'est donc mon problème de récupération de cette valeur maxReg, qui me pose problème.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018
11 déc. 2018 à 19:52
r.people, cela contient quoi?
0
cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018
11 déc. 2018 à 19:54
c'est le nombre de personne que l'on inscrit, mais c'est toujours 1
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > cs_doublemetre Messages postés 24 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 17 décembre 2018
11 déc. 2018 à 20:23
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
0