A voir également:
- Requete sql
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
- Requete http - Guide
- Requete sql commence par ✓ - Forum Webmastering
- Requete sql sans doublon - Astuces et Solutions
37 réponses
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
Modifié par Melooo le 2/11/2010 à 11:46
Modifié par Melooo le 2/11/2010 à 11:46
Il me semble que quand on utilises un Having on es censé utiliser un group by donc fais un truc comme ca :
GROUP BY NoCarte ASC HAVING (((COUNT(I.NoCarte)> 1)));
SELECT I.NoCarte, Nom, COUNT(I.NoCarte)
FROM COURS C, INSCRIT I, PARTICIPATION P
WHERE C.NomCours = P.NomCours
AND I.NoCarte = P.NoCarte
AND Nom ='Bonnard'
GROUP BY I.NoCarte, Nom
HAVING (((SUM(I.NoCarte)> 1)));
FROM COURS C, INSCRIT I, PARTICIPATION P
WHERE C.NomCours = P.NomCours
AND I.NoCarte = P.NoCarte
AND Nom ='Bonnard'
GROUP BY I.NoCarte, Nom
HAVING (((SUM(I.NoCarte)> 1)));
non non lol
j'espere que je vous embête pas trop...faut peut-être une sous-requête non ? car jai fait ça question précédente :
select Nom,Age
from INSCRIT
Where Age>( select Age
from Inscrit
where Nom='Bonnard')
j'espere que je vous embête pas trop...faut peut-être une sous-requête non ? car jai fait ça question précédente :
select Nom,Age
from INSCRIT
Where Age>( select Age
from Inscrit
where Nom='Bonnard')
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
2 nov. 2010 à 11:54
2 nov. 2010 à 11:54
Non pas besoin de sous requête, quelle est la derniere requête que tu as testée ?
As tu essayé avec le group by ?
As tu essayé avec le group by ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La derniere requete est avec le GROUP BY...et ça ne marche pas non plus..apparement le pb vient du SUM
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
2 nov. 2010 à 12:02
2 nov. 2010 à 12:02
et si tu remplace le SUM par un COUNT ??
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
2 nov. 2010 à 12:09
2 nov. 2010 à 12:09
On va y arriver lol
SELECT I.NoCarte, Nom, COUNT(I.NoCarte)
FROM COURS C, INSCRIT I, PARTICIPATION P
WHERE C.NomCours = P.NomCours
AND I.NoCarte = P.NoCarte
AND Nom ='Bonnard'
GROUP BY I.NoCarte, Nom
HAVING (((COUNT(I.NoCarte)> 1)))
Là je n'ai aucun problème mais jpense pas que ce soit la réponse...car ça ne me trouve aucune personne...
FROM COURS C, INSCRIT I, PARTICIPATION P
WHERE C.NomCours = P.NomCours
AND I.NoCarte = P.NoCarte
AND Nom ='Bonnard'
GROUP BY I.NoCarte, Nom
HAVING (((COUNT(I.NoCarte)> 1)))
Là je n'ai aucun problème mais jpense pas que ce soit la réponse...car ça ne me trouve aucune personne...
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
Modifié par Melooo le 2/11/2010 à 12:12
Modifié par Melooo le 2/11/2010 à 12:12
tu es sur d'avoir au moins un résultat correspondant à ta requête ???
Et essayes de virer toutes ces parenthèses dans le having
Et essayes de virer toutes ces parenthèses dans le having
Si elle est bonne la requete! Maintenant a toi d'alimenter ta BDD pour que cette requete fonctionne avec plusieurs exemple....
Vous savez quoi j'ai peut-etre mal regardé...jpense que c'est bon en fait...
maintenant si vous pouviez me répondre à une deuxieme petite question...je dois faire cette question avec le JOIN et l'agregation...
Trouver les inscrits au cours de NATATION I et de NATATION II
j'ai
select distinct Inscrit.*,Cours.NomCours
from INSCRIT,PARTICIPATION,COURS
where Inscrit.Nocarte=Participation.Nocarte
and Participation.NomCours=Cours.NomCours
and Cours.NomCours='NatationI'or Cours.NomCours='NatationII'
et
select Inscrit.*,Cours.NomCours
from (INSCRIT join PARTICIPATION on Inscrit.Nocarte=Participation.Nocarte)
join Cours on Participation.NomCours=Cours.NomCours
where Cours.NomCours='NatationI'or Cours.NomCours='NatationII'
les deux marchent mais ne donnent pas le même résultat pk ?
maintenant si vous pouviez me répondre à une deuxieme petite question...je dois faire cette question avec le JOIN et l'agregation...
Trouver les inscrits au cours de NATATION I et de NATATION II
j'ai
select distinct Inscrit.*,Cours.NomCours
from INSCRIT,PARTICIPATION,COURS
where Inscrit.Nocarte=Participation.Nocarte
and Participation.NomCours=Cours.NomCours
and Cours.NomCours='NatationI'or Cours.NomCours='NatationII'
et
select Inscrit.*,Cours.NomCours
from (INSCRIT join PARTICIPATION on Inscrit.Nocarte=Participation.Nocarte)
join Cours on Participation.NomCours=Cours.NomCours
where Cours.NomCours='NatationI'or Cours.NomCours='NatationII'
les deux marchent mais ne donnent pas le même résultat pk ?
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
2 nov. 2010 à 12:21
2 nov. 2010 à 12:21
Le distinct non ?
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
2 nov. 2010 à 12:30
2 nov. 2010 à 12:30
j' ai jamais fais de requête avec les "join" mais rajouter inner devant nan ?