Retourner tout les enregistrement

Résolu
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

  1. Contributeur
    bonjour, qu'est ce qui caractérise un enregistrement avec inscription?
    cela va-t'il mieux sans le WHERE?
    0
    1. 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
      1. Contributeur
        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
      2. 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
      3. Contributeur
        @cs_doublemetrer.people, cela contient quoi?
        0
      4. c'est le nombre de personne que l'on inscrit, mais c'est toujours 1
        0
      5. Contributeur
        @cs_doublemetreet 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