Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
959 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Réglé] [MySQL] Requête qui ne retourne pas toutes les news...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Réglé] [MySQL] Requête qui ne retourne pas toutes les news...

n°1505279
cvex
$CveX
Posté le 20-01-2007 à 04:01:02  profilanswer
 

Bonsoir à tous :)
 
J'ai un petit soucis sur une requête MySQL (Version du client MySQL 5.0.18).
 
Je souhaite que cette requête me renvoit les informations d'une news ainsi que le nombre de commentaire lier à cette news et le pseudo du posteur de la news.
Jusque la tout va bien, la requête fonctionne mais elle présente un défaut de ne retourner les news que lorsque le nombre total de commentaire est égale à 0. Mais justement je souhaite afficher tout de même les news qui ont un commentaire à zéro :
 

Code :
  1. SELECT information.id_info, information.id_joueur, COUNT(id_com) AS nb_commentaire, pseudo, icone, titre, txt, date_creation
  2. FROM information, joueur, commentaire
  3. WHERE information.id_joueur = joueur.id_joueur
  4. AND information.id_info = commentaire.id_info
  5. GROUP BY information.id_info, information.id_joueur, pseudo, icone, titre, txt, date_creation
  6. ORDER BY id_info DESC
  7. LIMIT 5


 
Comment faire pour contourner le problème ? Et ainsi qu'il me retourne toute les news avec le nombre de commentaire ?
 
Merci d'avance pour votre aide :)


Message édité par cvex le 21-01-2007 à 23:57:57
mood
Publicité
Posté le 20-01-2007 à 04:01:02  profilanswer
 

n°1505475
pikti
I’ve done worse
Posté le 21-01-2007 à 09:04:57  profilanswer
 

Il faut que tu fasses une jointure externe (left/right join).
Dans ton cas, comme tu n'utilises pas join, tu dois mettre *= (ou =* suivant le cas)
 
Si j'ai bien compris ce doit être entre ces 2 champs information.id_info commentaire.id_info
 
Essaie (si pas bon essaie l'autre sens, =*):
 

Code :
  1. SELECT information.id_info, information.id_joueur, COUNT(id_com) AS nb_commentaire
  2. FROM information, joueur, commentaire
  3. WHERE information.id_joueur = joueur.id_joueur
  4. AND information.id_info *= commentaire.id_info
  5. GROUP BY information.id_info, information.id_joueur, pseudo, icone, titre, txt, date_creation


 

n°1505670
cvex
$CveX
Posté le 21-01-2007 à 20:46:34  profilanswer
 

Arg, j'ai testé avec les *= et =*
Et ca ne fonctionne pas, maintenant je me dis peut-être que OVH bloque certaines fonctionnalités de MySQL parce que c'est pas la première fois, que j'ai des fonctions de MySQL qui refuse de fonctionner.
 
Je vais voir ce que je peux faire les Left / Right Join
 
Merci :)

n°1505733
cvex
$CveX
Posté le 21-01-2007 à 23:57:36  profilanswer
 

Re,
 
Eh bien, c'est parfait :) Ca marche du feu de dieu le LEFT JOIN, RIGHT JOIN :)
 
Merci beaucoup pour ton aide

n°1505744
pikti
I’ve done worse
Posté le 22-01-2007 à 06:13:57  profilanswer
 

cvex a écrit :

Re,
 
Eh bien, c'est parfait :) Ca marche du feu de dieu le LEFT JOIN, RIGHT JOIN :)
 
Merci beaucoup pour ton aide


 
pour info tu dois pouvoir faire la même chose en utilisant join qu'en faisant ta jointure dans le where, c'est l'exemple que je t'ai donné qui doit être faux ;)
 
perso je préfères join (question d'habitude)  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Réglé] [MySQL] Requête qui ne retourne pas toutes les news...

 

Sujets relatifs
[Réglé]Formulaire avec Radio[MySQL v5] [Procédure Stockée] construire une requête dynamique ?
Pb avec une requêteProbléme requete sql = unknow column
[REGLE]Gestion base de donnée Access[Réglé]Menu déroulant
[REGLE] Problème d'includeExport données Excel vers Mysql
Probleme d'association de requete Count et Select 
Plus de sujets relatifs à : [Réglé] [MySQL] Requête qui ne retourne pas toutes les news...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR