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 :

Requête sur plusieurs tables [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Requête sur plusieurs tables
    Bonjour,

    Je ne suis pas spécialiste des bases de données mais je dois réaliser une requête en utilisant les tables suivantes :

    Nom : Requete.PNG
Affichages : 122
Taille : 15,7 Ko

    En fait, il d'une base de donnée qui gère un jeu de carte. Pour chaque partie, il y a 3, 4 ou 5 joueurs.
    Ce que je souhiate obtenir, c'est une avec les colonnes suivantes :

    Partie.ID Partie.Debut Partie.Fin NomComplet Joueur 1 NomComplet Joueur 2 NomComplet Joueur 3 NomComplet Joueur 4 NomComplet Joueur 5

    Si les Joueurs 4 et 5 n'existent pas alors je voudrais avoir une chaine vide.

    J'ai essayer d'écrire cette requête mais sans succès, j'ai toujours une erreur.

    Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Je ferais comme ceci :

    - une requête avec comme seule source, la table "Partie" ;
    - alimenter les 5 colonnes des joueurs à l'aide de la fonction de domaine DLookup.

    N.B. Si tu ne connais pas encore les fonctions de domaine vois "la" référence, c’est le tutoriel de Philippe JOCHMANS Les fonctions de domaine.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Voici un exemple :





    Dans la requête « rResultat », j’ai décomposé les 2 étapes (recherche de l’Id du joueur, recherche de son nom) :




    qui donne ce résultat :





    On peut ensuite intégrer le résultat de la 1re étape comme argument dans la 2e , ainsi :




    et le résultat souhaité :




    La BdD est ici : http://claudeleloup.developpez.com/&...40710Jim53.mdb
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup ClaudeLELOUP, c'est effectivement ce que je cherchais à faire.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    En fait, malheureusement je ne peux pas utiliser cette requête car même si elle marche dans Access, je ne peux pas m'en servir dans une application que je dévellope en C++ car le compilateur ne l'accepte pas. En fait, DLooUp et Nz sont des fonctions spécifiques à Access et ne sont pas reconnu dans le language SQL.
    Existe-t-il une autre façon de faire?
    En cherchant sur le net, il esiste à prirori une solution avec INNER JOIN mais je ne sais pas coment l'implémenter.

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Désolé de ne pouvoir t'aider davantage.

    L'un de mes amis est virtuose du SQL, espérons qu'il passe par ici...


    Edit : il est passé !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 604
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    salut,

    on peut aussi faire avec une requête Analyse Croisée :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM First(Req_NomComplet.NomComplet) AS PremierDeNomComplet
    SELECT Partie.IdPartie, Partie.Debut, Partie.fin
    FROM Partie INNER JOIN (Req_NomComplet INNER JOIN Rel_Joueur_Partie ON Req_NomComplet.Id_Joueur = Rel_Joueur_Partie.Id_Joueur) ON Partie.IdPartie = Rel_Joueur_Partie.Id_Partie
    GROUP BY Partie.IdPartie, Partie.Debut, Partie.fin
    PIVOT Rel_Joueur_Partie.Position In (1,2,3,4,5);

    mais on va me dire que le compilateur C++ n'aime pas les Analyses Croisées

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci,

    Je confirme que ça marche. je ne sais pas les compilateur C++ n'aime pas les analyses croisées mais avec Qt ça focntionne.

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

Discussions similaires

  1. suite au problème de requête sur plusieur table
    Par michelGProuq dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/07/2006, 16h19
  2. [VB6] RecordSet, Oracle, requête sur plusieurs Tables
    Par pier* dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 13/04/2006, 10h19
  3. Requête sur plusieurs tables
    Par sta_schmitt dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/03/2006, 13h54
  4. Requéte sur plusieurs tables
    Par polux23 dans le forum Requêtes
    Réponses: 11
    Dernier message: 23/02/2006, 23h00
  5. Requête sur plusieurs tables
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/07/2005, 12h25

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