Aller au contenu

[Regle]Requete SQL imbriqué


rat-du-net

Sujets conseillés

Salut !!!

j'aissaye de faire une requete imbriqué.

J'ai une table dans laquel j'ai des commentaires.

Je souhaite recuperer l'id_expediteur de la personne ayant envoyé le plus de commentaire mais ne contenant aucun 1 et aucun "vote" et que l'id_exptediteur se trouve moin de 2 fois dans la table des bannis

j'ai essayé ca mais ca ne fonctionne pas :(

SELECT message, id_expediteur, count(id_expediteur) as nb_com FROM `commentaire` WHERE message NOT like '%1%' AND message NOT like '%vote%' AND date_envois >= 1138748400
AND date_envois <= 1141081200 AND id_expediteur = (SELECT id_banni as id_expediteur, count(id_banni) as nb FROM `banni` WHERE 1 GROUP BY id_banni) AND nb < 2 GROUP BY id_expediteur ORDER BY nb_com DESC LIMIT 10

Modifié par rat-du-net
Lien vers le commentaire
Partager sur d’autres sites

en fait, c'est ici alors qu'il faut que je selectionne seulement les membre qui sont moin de deux fois dans la table :

SELECT id_banni as id_expediteur, count(id_banni) as nb FROM `banni` WHERE 1 GROUP BY id_banni

seulement un SELECT id_banni as id_expediteur, count(id_banni) as nb FROM `banni` WHERE nb < 2 GROUP BY id_banni

ne marche pas

Lien vers le commentaire
Partager sur d’autres sites

a ben voila !!

SELECT message, id_expediteur, count(id_expediteur) as nb_com FROM `commentaire` WHERE message NOT like '%1%' AND message NOT like '%vote%' AND date_envois >= 1138748400
AND date_envois <= 1141081200 AND id_expediteur IN (SELECT id_banni FROM `banni` GROUP BY id_banni HAVING count(id_banni) < 2) GROUP BY id_expediteur ORDER BY nb_com DESC LIMIT 10

ca a l'air d'etre bien mieux !!!

je ne connaissais pas le HAVING count(id_banni) < 2 ca va bien e simplifier la vie !!!

a chaque fois je passais par une requete intermediaire !!!

merci beaucoup !

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...