Plusieurs tables a interroger, probleme
diice
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement sur un site ou j'ai plusieurs tables.
j'ai par exemple :
- une table A de compte client (avec id, nom, prenom etc...)
- une table B Proposition (d'idée) avec (id, idclient (qui propose)...)
- une table C votes avec (id, idproposition, idclient (qui vote)...
- une table D commentaires (id, id proposition, idclient (qui commente)
jusqu'ici j'utilisais sur 2 tables (pour ramener les infos du client qui propose)
puis je faisait un while (php) et dans le while, je refaisai d'autres requetes pour afficher le nombre de votes ou de commentaire par exemple...
le souci c'est que si j'ai 150 propositions, ca fait environ 300 requetes et du coup, c long a charger !!
j'ai essayé d'inclure dans ma requete 3 ou 4 tables, avec les COUNT() et autre SUM(),
mais je dois mal m'y prendre parce que par exemple il ne m'affiche pas les propositions qui n'ont pas de votes !!!
comment puis-je faire pour reussir a rassembler toutes les infos concernant une proposition en une requete afin de boucler dessus en faisant une economie de requete php ??
merci d'avance !
Je suis actuellement sur un site ou j'ai plusieurs tables.
j'ai par exemple :
- une table A de compte client (avec id, nom, prenom etc...)
- une table B Proposition (d'idée) avec (id, idclient (qui propose)...)
- une table C votes avec (id, idproposition, idclient (qui vote)...
- une table D commentaires (id, id proposition, idclient (qui commente)
jusqu'ici j'utilisais sur 2 tables (pour ramener les infos du client qui propose)
select A.*, B.* from B.propositions, A.compte where B.idclient=A.id
puis je faisait un while (php) et dans le while, je refaisai d'autres requetes pour afficher le nombre de votes ou de commentaire par exemple...
le souci c'est que si j'ai 150 propositions, ca fait environ 300 requetes et du coup, c long a charger !!
j'ai essayé d'inclure dans ma requete 3 ou 4 tables, avec les COUNT() et autre SUM(),
mais je dois mal m'y prendre parce que par exemple il ne m'affiche pas les propositions qui n'ont pas de votes !!!
select B.*, C.*, A.*, count(C.idVote) as NbVotes, count (D.idCommentaire) as NbComm from proposition B, votes C, comptes A, commentaires D where B.idproposition=C.idproposition and D.idproposition=B.idproposition and A.idcompte=B.idcompte and C.idcompte=A.idcompte group by B.idcompte
comment puis-je faire pour reussir a rassembler toutes les infos concernant une proposition en une requete afin de boucler dessus en faisant une economie de requete php ??
merci d'avance !
A voir également:
- Plusieurs tables a interroger, probleme
- Tables des matières word - Guide
- Tables ascii - Guide
- Sql lister les tables ✓ - Forum Programmation
- Point d'interrogation à l'envers ✓ - Forum Word
- Aucune entrée de table des matières n'a été trouvée. - Forum Word
1 réponse
je voulais préciser que je suis allé voir les jointures mais que cela ne m'avance pas trop....
ce qui me gene c'est de recuperer les sommes des votes et commentaires avec ceux qui ont votés...
dois-je faire plusieurs requetes ? ou une seule peut se faire ? et laquelle de ses deux solutions est la moins gourmande en ressources ??
merci d'avance de m'aiguiller...
ce qui me gene c'est de recuperer les sommes des votes et commentaires avec ceux qui ont votés...
dois-je faire plusieurs requetes ? ou une seule peut se faire ? et laquelle de ses deux solutions est la moins gourmande en ressources ??
merci d'avance de m'aiguiller...