Plusieurs tables a interroger, probleme
diice
Messages postés
142
Statut
Membre
-
diice Messages postés 142 Statut Membre -
diice Messages postés 142 Statut Membre -
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
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Sql lister les tables ✓ - Forum Programmation
- Pourquoi je reçois des points d'interrogation à la place des smileys iphone - Forum iPhone
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...