Croisement de tri de données (MySQL)

Résolu
cs_zeguizmo Messages postés 138 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 16 juillet 2009 - 24 août 2007 à 01:41
cs_zeguizmo Messages postés 138 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 16 juillet 2009 - 24 août 2007 à 12:46
Salut à tous,

Ouais, le nom du post est bizarre, mais j'en ai pas trouvé d'autre.
Je vous explique le contexte avant d'exposer mon souci : (les albums sont des bandes dessinées)

J'ai une base de donnée albums qui contient un id, le nom de l'album et un "pointeur" (un id en fait) vers la serie a laquelle appartient cet album.
Une base de donnée series, composée d'un id et d'un nom.

Ainsi, un enregistrement de la table album se presente de cette facon :

1  |  nom_album    |   35

1 est l'id de l'album, nom_album, le nom de l'album et 35 est l'id de la serie à laquelle appartient l'album.

La table serie se presente donc de cette facon :

35   |    nom_serie

Vous aurez compris que mes tables contiennent bien plus d'informations, mais que je n'ai besoin que de celles ci pour le pb.

Je suis en train de faire un affichage de mes albums sous forme de tableau. Le tri par ordre alphabétique des albums par leurs titres ne pose aucun soucis, puisque j'ai directement l'information du titre dans ma table albums.
Ca se complique avec le tri des albums par ordre alphabetique des noms de séries !
Dans ma table album je n'ai acces qu'a l'id de la serie ... hors je dois trier les albums par ordre alphabétique des noms de séries !

Il faudrait en fait que je trie ma table série par ordre alphabetique des noms de séries, j'obtiendrais alors un ordre des identifiants de séries, et ensuite que je trie mes albums selon cet ordre. (puisque j'ai l'ensemble des identifiants de serie dans ma table album)

Mais la je ne sais pas du tout comment faire. J'aimerais le faire en MySQL mais je ne sais pas si ce genre de croisement est possible.

Quelqu'un peut-il m'éclairer ? Je lui en serais très reconnaissant !

Merci beaucoup.

PS : après relecture, je suis vraiment pas clair, mais il est tard. Je pourrais reformuler mon probleme si ca ne va pas.

ZeGuizmo

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 août 2007 à 11:18
Hello,

SELECT
a.nom_album, s.nom_serie
FROM
album a
LEFT JOIN serie s ON s.id_serie = a.serie_id
ORDER BY
s.nom_serie
3
cs_zeguizmo Messages postés 138 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 16 juillet 2009
24 août 2007 à 12:46
Je vous invite à aller voir ce tuto, qui est certes peu précis mais qui explique tres bien et tres facilement (dans l'esprit de ce site) le LEFT JOIN :

http://www.siteduzero.com/tuto-3-8504-1-mysql-les-jointures-moyen-d-economiser-des-ressources.html

Bonne journée

ZeGuizmo
3
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
24 août 2007 à 09:53
Select *(ce que tu veux) FROM table_album, table_serie ORDER BY table_serie.nom_serie
Un truc comme ca t'as déja exssayé?
0
cs_zeguizmo Messages postés 138 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 16 juillet 2009
24 août 2007 à 12:22
Ca marche !!!
Je vais me renseigner du coté de ce LEFT JOIN ... ON ... que je ne connais pas du tout !

Merci de ton aide malalam !

@val_lala : oui, j'ai essayé ce genre de chose, sans résultats, merci quand même.

ZeGuizmo
0
Rejoignez-nous