Menu

Afficher des valeurs nulles au résultat

waren56 - 20 déc. 2017 à 18:00 - Dernière réponse : jordane45 20600 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention
- 21 déc. 2017 à 00:21
Bonjour, j'aimerai savoir comment dans une requête SQL on peut mettre une condition ou autre manipulation qui pourrait faire afficher des valeurs nulle. Je travaille actuellement sur une base de données qui recense des recettes, voici la structure :

en faisant cette requête :

SELECT r.NomRecette, COUNT(c.Texte) AS NbCommentaires 
FROM PI101_RECETTES r 
JOIN PI101_COMMENTAIRES c USING (IdRecette) 
GROUP BY r.NomRecette;


Cela m'affiche le nombre de commentaires des recettes cependant il ne m'affiche pas ceux avec 0 commentaires et c'est ce que j'aimerai faire apparaître (en plus des commentaires non nulles).

Merci d'avance.
Afficher la suite 

3 réponses

Répondre au sujet
jordane45 20600 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 20 déc. 2017 à 20:43
+1
Utile
2
Bonjour,

ceci non ?

SELECT r.NomRecette, COUNT(c.Texte) AS NbCommentaires 
FROM PI101_RECETTES r 
LEFT JOIN PI101_COMMENTAIRES c  ON c.IdRecette = r.IdRecette
GROUP BY r.IdRecette;

Cette réponse vous a-t-elle aidé ?  
waren56 10 Messages postés mercredi 20 décembre 2017Date d'inscription 5 avril 2018 Dernière intervention - 20 déc. 2017 à 21:38
Oui exactement, merci de ta réponse.
Je vois que tu as juste ajouté un 'LEFT JOIN', pourrais-tu m'expliquer la différence entre JOIN et LEFT JOIN stp (je ne l'est pas vu en cours).
jordane45 20600 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 21 déc. 2017 à 00:21
Le LEFT conserve TOUTES les données de la table qui se trouve à gauche
Alors que le JOIN tout court retourne que les lignes où il y a une correspondance pour les deux tables
Commenter la réponse de jordane45