JeuWeb - Crée ton jeu par navigateur
[Résolu] Problème simple sur Jointures - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Problème simple sur Jointures (/showthread.php?tid=3564)



[Résolu] Problème simple sur Jointures - MdE - 19-01-2009

Bonjour,
Le problème sur lequel je bute me paraît pourtant simple mais pas moyen de trouver la bonne chose à faire. Je sollicite donc votre aide:

Alors j'ai une table action qui comprend comme champs "attaquant" "cible" "action"... Ces champs sont numériques et se rapportent aux Id des personnages correspondants.
Et donc bien sûr, une table personnages avec "id" "nom" etc...

Ce que je veux faire: pouvoir avec une seule requête afficher que tel personnage (avec le nom bien sûr) attaque tel autre personnage.

Merci de votre aide


RE: Problème simple sur Jointures - Allwise - 19-01-2009

Salut, si j'ai tout compris, tu enregistres les actions lors des combats, et t'as 2 tables principales liées avec une table intermédiaire.
Ca donnerait ça :
Code :
SELECT a.personnage_id AS attaquant_id, a.personnage_nom AS attaquant_nom c.personnage_id AS cible_id, c.personnage_nom AS cible_nom
FROM personnage as a
INNER JOIN action ON action.attaquant_id=a.attaquant_id
INNER JOIN personnage as c ON action.cible_id=c.cible_id


Vu que tu récupères 2 fois les enregistrements d'une même table ( l'attaquant / la cible ), tu as besoin de mettre des alias sur les champs.


RE: Problème simple sur Jointures - MdE - 20-01-2009

Ok, c'est bon, merci énormément !