Re: [LA-discussions] requête mysql

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]


neomilium a écrit :
Le vendredi 22 mai 2009 11:25:08 jean-luc boutin, vous avez écrit :
Merci pour vos promptes réponses que je me suis empressé d'essayer.
Malheureusement aucune ne fonctionne ou ne donne le résultat escompté.
Quelle requête ne donne pas le résultat escompté ?
Es tu sûr que ce sont des jointures à gauche qu'il te faut ?
Peut-être qu'avec un peu plus de détails sur les tables de départ et le résultat voulu, on pourrait mieux t'aider.

Pour plus de clarté je précise en le transposant pour des raisons de confidentialité le contenu de ma base.

Imaginons que je gère des livres pour une bibliothèque de prêt. Je dispose du titre des ouvrages et de différentes appréciations par les lecteurs qui les ont empruntés. Ces appréciations sont par exemple "NUL" "ASSEZ BON" "BON" "TRES BON" "EXCELLENT".

La colonne1 contient les titres des ouvrages par exemple:

LIvre1
Livre1
Livre1
Livre1
Livre1
Livre2
Livre2
Livre2
Livre2
Livre2
Livre2
Livre3
Livre3
Livre3
.....
les titres apparaissent autant de fois qu'ils ont été évalués par les lecteurs. Par exemple le Livre1 a été évalué 4 fois par 4 lecteurs. Supposons que personne ne l'ait trouvé NUL, 1 l'ait trouvé "ASSEZ BON", 2 l'aient trouvé "BON" et 1 "EXCELLENT".
Ces valeurs sont mises en face du titre dans une Colonne2

j'ai donc

Colonne1                         Colonne2

Livre1                               Assez Bon
Livre1                               BON
Livre1                               BON
Livre1                               Excellent

.....
et ainsi de suite pour tous les autres titres. Ce que je veux obtenir c'est un tableau qui m'indique sur la Colonne1 le titre du livre, sur la Colonne2 le nbre de "NUL", sur la Colonne3 le nbre de "Assez bon", sur la Colonne4 le nbre de "Bon", sur la Colonne5 le nbre de "Tres bon" et sur la Colonne6 le nbre de "Excellent" J'ai donc :


Colonne1 Col2 Col3 Col4 Col5 Col6
Titre               NUL     ASSEZ BON     BON       TRES BON     EXCELLENT

Livre1 --- 1 2 ---- 1 Livre2 1 3 ---- ---- 1
........
etc

J'ai donc créé autant de tables qu'il y a de valeurs à partir de ma base qui comprennent en colonne1 les titres évalués et en colonne2 la valeur .. soit NUL pour la table1 "assez bon" pour la table2 "bon" pour la table3 etc.... Bien évidemment certains titres se retrouvent dans toutes les tables d'autres dans certaines tables seulement en fonction des évaluations qui en ont été faites. Il faut donc que dans mon tableau final j'ai dans la colonne1 tous les titres évalués et dans les colonnes 2,3,4,5,6 le nombre d'évaluations correspondantes. J'ai pu faire cela en plusieurs étapes mais pas en une seule requête complexe.

---
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/