IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Requête deux joueurs


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut Requête deux joueurs
    Bonjour
    J'explique mon problème :*j'ai créé un formulaire qui me permet d'enregistrer les participants à un tournoi
    table inscriptions
    champs DATE_INSCRIPTION, JOUEUR1, JOUEUR2
    Je dispose aussi d'une table joueurs
    clé : LICENCE (ce sont les valeurs enregistrées dans JOUEUR1, JOUEUR2)
    autres champs utiles : NOM,PRENOM,IV_CLASSEMENT

    Je souhaite maintenant effectuer un état des inscrits et affichant un tableau qui donnerait
    JOUEUR1 NOM PRENOM IV_CLASSEMENT JOUEUR2 NOM PRENOM IV_CLASSEMENT
    Sil n'y avait qu'un seul joueur, je pensais faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT inscriptions.JOUEUR1,joueurs.NOM,joueurs.PRENOM, joueurs.IV_CLASSEMENT 
    FROM inscriptions 
      inner join joueurs on inscriptions.JOUEUR1=joueurs.LICENCE
    Est-ce que quelqu'un aurait une idée pour faire figurer le second joueur
    Avec mes remerciements

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Par défaut
    Je dirais qu'en mettant quelque chose du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT inscriptions.JOUEUR1, 
      joueurs_T1.NOM,
      joueurs_T1.PRENOM, 
      joueurs_T1.IV_CLASSEMENT, 
      inscriptions.JOUEUR2, 
      joueurs_T2.NOM,
      joueurs_T2.PRENOM, 
      joueurs_T2.IV_CLASSEMENT 
    FROM inscriptions, 
      joueurs AS joueurs_T1, 
      joueurs AS joueurs_T2 
    WHERE inscriptions.JOUEUR1=joueurs_T1.LICENCE 
      AND inscriptions.JOUEUR2=joueurs_T2.LICENCE
    Ca devrait marcher. Non?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut
    Merci des tuyaux
    Pour le joueur 1 c'est bon, j'ai aussi le n° de licence du joueur 2 mais ceci ne donne rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    joueurs_T2.NOM,joueurs_T2.PRENOM, joueurs_T2.IV_CLASSEMENT

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Par défaut
    En mettant des alias partout, ça fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT inscriptions.JOUEUR1 as LICENCE1, 
      joueurs_T1.NOM as NOM1,
      joueurs_T1.PRENOM as PRENOM1,
      joueurs_T1.IV_CLASSEMENT as IV1,
      inscriptions.JOUEUR2 as LICENCE2, 
      joueurs_T2.NOM as NOM2,
      joueurs_T2.PRENOM as PRENOM2, 
      joueurs_T2.IV_CLASSEMENT as IV2
    FROM inscriptions, 
      joueurs AS joueurs_T1, joueurs AS joueurs_T2
    WHERE inscriptions.JOUEUR1=joueurs_T1.LICENCE 
      AND inscriptions.JOUEUR2=joueurs_T2.LICENCE
    Reste une question : comment rajouter en fin de ligne et pour chaque équipe, un champ IV_PAIRE égal à la somme de joueurs_T1.IV_CLASSEMENT et joueurs_T2.IV_CLASSEMENT?
    Merci de votre aide

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    En simplifiant les alias, en normalisant les jointures et en ajoutant la colonne PAIRE, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT I.JOUEUR1 AS LICENCE1, 
      J1.NOM AS NOM1,
      J1.PRENOM AS PRENOM1,
      J1.IV_CLASSEMENT AS IV1,
      I.JOUEUR2 AS LICENCE2, 
      J2.NOM AS NOM2,
      J2.PRENOM AS PRENOM2, 
      J2.IV_CLASSEMENT AS IV2
      J1.IV_CLASSEMENT + J2.IV_CLASSEMENT AS PAIRE
    FROM inscriptions AS I
      INNER JOIN joueurs AS J1 ON I.JOUEUR1 = J1.LICENCE
      INNER JOIN joueurs AS J2 ON I.JOUEUR2 = J2.LICENCE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. effectuer en 1 requête deux instructions
    Par jonnyboy dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/09/2007, 12h00
  2. requête deux tables
    Par ptitnana dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/05/2007, 18h31
  3. [ancien jeu] Snake deux joueur en ligne?
    Par Extra-Nitro dans le forum Web
    Réponses: 7
    Dernier message: 28/02/2007, 18h59
  4. [Thread] deux joueurs sur le même clavier
    Par homeostasie dans le forum SDL
    Réponses: 16
    Dernier message: 04/11/2006, 15h30
  5. Une requête, deux tables, fonction COUNT
    Par Nerva dans le forum Requêtes
    Réponses: 8
    Dernier message: 13/04/2006, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo