Plusieurs COUNT dans une même requète
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
1 oct. 2015 à 11:08
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 10 déc. 2015 à 12:37
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 10 déc. 2015 à 12:37
A voir également:
- Select count 2 tables
- Tables des matières word - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Tables ascii - Guide
- Xsarius pure 2 mode d'emploi - Forum TV & Vidéo
5 réponses
DelNC
Messages postés
2234
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
2 002
7 oct. 2015 à 12:52
7 oct. 2015 à 12:52
Bonjour papyclic
Si vous avez des tables reliées entre elles, il est recommandé d'utiliser des clés primaires.
Exemple
Dans le cas de jointure, pas la peine de remettre nom, prenom.
Pour faire une requête sql reliant les deux tables il faut indiquer le lien qui les relie
exemple
Si vous avez des tables reliées entre elles, il est recommandé d'utiliser des clés primaires.
Exemple
Tables tb_ami
id_ami, nom_ami, prenom_ami, ....
tb_adherent
id_adherent, id_ami, ....
Dans le cas de jointure, pas la peine de remettre nom, prenom.
Pour faire une requête sql reliant les deux tables il faut indiquer le lien qui les relie
exemple
Select tb_adherent, tb_ami, tb_nom
from tb_adherent, tb_ami
where tb_adherent,.id_ami = tb_ami.id_ami
DelNC
Messages postés
2234
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
2 002
1 oct. 2015 à 11:19
1 oct. 2015 à 11:19
Bonjour,
il faudrait que je sache comment vos tables sont reliées entre elles.
Si vous vous utiliser la valeur du Count il faut utiliser HAVING à la place de WHERE ou AND
il faudrait que je sache comment vos tables sont reliées entre elles.
Si vous vous utiliser la valeur du Count il faut utiliser HAVING à la place de WHERE ou AND
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
1 oct. 2015 à 12:54
1 oct. 2015 à 12:54
Bonjour
Mes 2 tables ne sont pas relié entre elles en fait.
Lorsque je rajoute un membre la condition s'effectue bien si il y a un membre du même nom.
Mais je voudrais que cette condition s'effectue également avec une autre table, une jointure en fait.
Alors moi j'avais essayé un truc du genre, met en vain.
Mes 2 tables ne sont pas relié entre elles en fait.
Lorsque je rajoute un membre la condition s'effectue bien si il y a un membre du même nom.
Mais je voudrais que cette condition s'effectue également avec une autre table, une jointure en fait.
$sql = "SELECT COUNT(nom_ami) as NB FROM tb_ami WHERE nom_ami = '$this->nom_ami' AND prenom_ami = '$this->prenom_ami' GROUP BY 'nom_ami'"; $requete = $this->bdd->prepare($sql); $requete->execute(); $resultat = $requete->fetchAll(); return isset($resultat[0]['NB']) ? $resultat[0]['NB'] : 0;
Alors moi j'avais essayé un truc du genre, met en vain.
$sql = "SELECT (SELECT COUNT(nom_ami)FROM tb_ami) as NB, (SELECT COUNT(nom)FROM tb_adherent) as NB2, WHERE nom_ami = '$this->nom_ami' AND prenom_ami = '$this->prenom_ami' AND nom = '$this->nom' AND prenom = '$this->prenom' GROUP BY 'nom_ami, nom'"; $requete = $this->bdd->prepare($sql); $requete->execute(); $resultat = $requete->fetchAll(); return isset($resultat[0]['NB']) ? $resultat[0]['NB'] : 0;
Tatanos
Messages postés
966
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
26 mai 2016
156
19 oct. 2015 à 16:24
19 oct. 2015 à 16:24
Salut,
Avec deux sous requêtes tu peux t'en sortir sans jointure :
Avec deux sous requêtes tu peux t'en sortir sans jointure :
SELECT (T1.NB1+T2.NB2) as NB FROM ( SELECT COUNT(nom_ami) as NB1 FROM tb_ami WHERE nom_ami = '$this->nom_ami' AND prenom_ami = '$this->prenom_ami' ) AS T1, ( SELECT COUNT(nom_adherent) as NB2 FROM tb_adherent WHERE nom_adherent = '$this->nom' AND prenom_adherent = '$this->prenom' ) AS T2
DelNC
Messages postés
2234
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
2 002
19 oct. 2015 à 22:26
19 oct. 2015 à 22:26
Je n'ai jamais fais ce genre de requête.
Il faut tester pour voir si çà marche.
Il faut tester pour voir si çà marche.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
10 déc. 2015 à 12:37
10 déc. 2015 à 12:37
Merci pour tout.