8791 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,

J'ai créé pour un événement une base MySQL avec la table "invite" qui contient tous les participants. Pour les activités prévues, j'ai dû faire des groupes de 2 personnes. Pour ce faire, j'ai renseigné un champ "compagnon_ID" avec l'ID de la personne concernée.

Ainsi, pour un duo entre Jean et Marc, j'ai sur la fiche de Jean :
- ID : 1
- PRENOM : Jean
- compagnon_ID : 2
- Groupe : A
forcément, la fiche de Marc est la fiche dont l'ID est 2

Mon problème : je souhaite faire une requête qui me ressorte les duos par ligne et par groupe. Par exemple :
ID, Prénom, ID, Prénom
1, Jean, 2, Marc

avec la formule suivante :
SELECT I1.ID, I1.PRENOM, I2.ID, I2.PRENOM
FROM invites AS I1, invites AS I2
LEFT JOIN I1 ON (I1.compagnon_ID=I2.ID)
WHERE Groupe='A'


Mais ça marche pas. J'ai le message suivant :
"#1066 - Not unique table/alias: 'I1' ".

J'ai beau chercher dans les forums et sur le site MySQL, mais je ne trouve pas la solution. Quelqu'un peut il m'éclairer sur le problème ?

Merci beaucoup Smiley smile
Modifié par volonia75 (14 Sep 2007 - 14:55)
Salut volonia75 Smiley cligne ,

essayes plutôt :
SELECT I1.ID, I1.PRENOM, I2.ID, I2.PRENOM
FROM invites AS I1
LEFT JOIN invites AS I2 ON ( I1.compagnon_ID = I2.ID )
WHERE I1.Groupe = 'A'

Cela dit tu risques d'avoir les informations en double si tu as mis :
- ID : 2
- PRENOM : Marc
- compagnon_ID : 1
- Groupe : A
... ce qui semblerait logique Smiley murf .

Il me semble que ça aurait été plus clair d'avoir un id_couple (égal à 1 par exemple pour Jean et pour Marc) à la place de compagnon_ID et la requête :
SELECT id_couple, GROUP_CONCAT(PRENOM)
FROM invites
WHERE Groupe= 'A'
GROUP BY id_couple

A+ Smiley smile
Modifié par Heyoan (14 Sep 2007 - 16:03)