Requête sur le résultat d'une requête [Résolu]

Signaler
Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005
-
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
-
Bonjour,


J'ai un problème dans la construction de ma requête.


J'ai une table avec 2 champs numériques : id_p, id_f


Je veux compter le nombre d'id_p qui n'est associé qu'à un seul id_f que je détermine


ex : id_p id_f
1 0
1 5
2 0
3 1
3 5

je recherche par rapport à id_f=0. Je veux savoir si un id_p qui est associé à id_f=0 est associé à un autre id_f
id_p = 1 est associé à id_f=5 et id_f=0 donc ne doit pas compter
id_p=2 est associé uniquement à id_f=0 donc doit intervenir dans le compteur
Pour l'instant, je fais deux requêtes :
select id_p from table where id_f=0
et
pour chaque résultat :
select count(*) from table where id_p=resultat

Je voudrais ne faire qu'une requête
J'espère avoir bien exposé mon problème
Merci

5 réponses

Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,

Désolé, pour le post précédent... Faut que j'arrête de boire... LOL



SELECT ID_P FROM TABLE WHERE ID_P IN (SELECT ID_P FROM TABLE WHERE ID_F=0)

GROUP BY ID_P

HAVING COUNT(*) =1;

++

Zlub
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,

Tu peux essayer une requête dans ce style :



SELECT ID_P, COUNT(*) AS NB FROM TABLE WHERE ID_P IN (SELECT ID_P FROM TABLE WHERE ID_F=0)

GROUP BY ID_P;

++

Zlub
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,

Et si tu veux garder que ceux qui sont simplement associé à zéro, alors



SELECT ID_P

FROM (SELECT COUNT(*) AS NB,ID_P FROM TABLE WHERE ID_P IN (SELECT ID_P FROM TABLE WHERE ID_F=0)

GROUP BY ID_P)

WHERE NB=1;

++

Zlub
Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005

merci, ça marche très bien
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,

De rien, ce fût un plaisir de faire une pause requête...

++

Zlub