Retourner tout les enregistrement

Résolu
cs_doublemetre Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
cs_doublemetre Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > cs_doublemetre Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
r.people, cela contient quoi?
0
cs_doublemetre Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
c'est le nombre de personne que l'on inscrit, mais c'est toujours 1
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > cs_doublemetre Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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