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 et SQL. Discussion :

[Access 2010] Problème basique pour une requête


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Access 2010] Problème basique pour une requête
    Bonjour,
    J'ai un soucis mais mon problème est très basique. Juste que comme je suis pas du tout fait aux BDD, je ne trouve pas la solution.

    Voici une illustration :
    http://hpics.li/3a65526

    Voici mon problème :

    Dans la table "joueur", j'ai la minute où le joueur est entré et celle où il est sorti
    Dans la table "but" j'ai la minute où sont inscrits les buts d'une rencontre
    Dans la table "but" j'ai aussi "Pour" ou "Contre" selon l'équipe qui a marqué

    Ce que je veux :
    Un tableau avec comme colonne :
    -id du joueur (1ligne par joueur)
    -id du match
    -différence de but (entre nombre de pour et contre) pendant la présence du joueur

    Ou alors carrément un tablea croisée avec en colonne les id des joueurs, en ligne l'id des matchs, et en valeur dans les cases, la différence de buts.

    Je comprend absolument pas comment faire.
    -Quand je fais une requête "sélection", je perd les match ou il n'ya pas eu de buts pendant la présence du joueur. De plus je suis obligé de faire 3 requête différentes pour avoir la différence entre les buts "pour" et les buts "contre.
    -Quand je fais une requête "Création" de table, je n'arrive pas non plus à intégrer à la fois les buts pour et contre pour pouvoir en faire la différence...

    Je bute là dessus alors que ça doit être simple.... Bien aimable celui qui me viendra en aide :-).

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
          j.joueur_id
        , m.match_id
        , SUM(iif(s.[Pour/Contre]="pour";1;-1)) AS Nb_Buts
    FROM
                  Joueurs            j
        LEFT JOIN Stats_Individuelle s ON j.Joueur_ID = s.Joueur_ID
        LEFT JOIN Match              m ON s.match_id = m.match_id
        LEFT JOIN But                b ON m.match_id = b.match_id
    GROUP BY 
          j.joueur_id
        , m.match_id
    Devrait faire l'affaire si et seulement si tu ne fais jamais entrer deux fois un même joueur sur le terrain.

    NB : j'ai ajouté la table "Joueurs" qui n'apparait pas sur ton schéma, mais que tu devrais avoir quelque part... et, vérifie que c'est bien "Joueurs" et pas "Joueur", parce que j'ai l'impression que tu as nommé tes tables au singulier.

Discussions similaires

  1. Aide pour une requête sur Access
    Par psgkiki dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/05/2007, 11h34
  2. Réponses: 4
    Dernier message: 18/02/2007, 22h29
  3. problème de syntaxe delphi pour une requête sql
    Par socooooool dans le forum Bases de données
    Réponses: 12
    Dernier message: 07/07/2006, 16h53
  4. Réponses: 3
    Dernier message: 28/06/2006, 17h01
  5. Problème tableau pour une requête
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 20h21

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