Page 1 sur 1

Jointure d'une table avec elle même ?

Posté : 12 avr. 2006, 11:41
par pitav
Bonjour à tous
J'espère que ma question n'est pas trop bête. Si c'est le cas mille excuses :-)
Je fait un site pour un éditeur de partitions. Certaines partitions ont deux auteurs. Les auteurs sont dans une table "Auteurs" relié à une table principale "Catalogue" par une clé étrangère.
Comme il y a au maximum que 2 auteurs par partions, j'ai 2 colonne, auteur_1 et auteur_2 dans la table "Catalogue".
Mon problème est que je n'arrive pas à rédiger la requette qui me permettra d'avoir deux noms d'auteur différent pour une seule partition.
Apparemment la réponse se trouve dans la jointure d'une table avec elle même mais je n'y arrive pas !
Quelqu'un à-til une solution ou une piste SVP ?
Merci

Posté : 12 avr. 2006, 12:18
par pascaltje
il faut utiliser un alias sur le nom de la table:

Code : Tout sélectionner

SELECT champs... FROM partition, auteur au_1, auteur au_2 WHERE conditions...
la jointure se fera comme ça, en utilisant l'alias de table:
au_1.auteur_id = partition.auteur_1
au_2.auteur_id = partition.auteur_2

de même, pour prendre un champ de l'une ou l'autre des tables auteur, il faut préfixer.

A+

Pascal