Requete Inner Join imbriquée [Résolu]

cs_Papymuzo 169 Messages postés jeudi 24 juillet 2003Date d'inscription 17 août 2010 Dernière intervention - 24 avril 2009 à 13:24 - Dernière réponse : cs_Papymuzo 169 Messages postés jeudi 24 juillet 2003Date d'inscription 17 août 2010 Dernière intervention
- 25 avril 2009 à 11:49
Bonjour,

Je suis en train de développer un petit soft, et je suis confronté à un problème. Le voici :

   - Pour simplifier le problème, nous allons dire que mon programme possède trois tables :

TSpectacle ([ID_SPECTACLE], ID_INFOS_ARTISTIQUES, ID_INFOS_TECHNIQUES, DUREE, ILLUSTRATION)

   ^----- ID_SPECTACLE est la clef primaire.

TInfos_Artistiques ([ID_INFOS_ARTISTIQUES], DEMANDES_PARTICULIERES, DIVERS)

   ^----- ID_INFOS_ARTITIQUES et la clef primaire.

TInfos_Techniques ([ID_INFOS_TECHNIQUES], DEMANDE_EN_MATERIEL, DIVERS)

   ^----- ID_INFOS_TECHNIQUES est la clef primaire.

Maintenant, au niveau des relations entre les tables :

La table TSpectacle récupère ID_INFOS_ARTISTIQUES dans son champ ID_INFOS_ARTISTIQUES (en clef étrangère) ainsi que ID_INFOS_TECHNIQUES dans son champ ID_INFOS_TECHNIQUES (toujours en tant que clef étrangère).

Pour récupérer les deux clefs étrangères, j'effectue deux requêtes SELECT * FROM TSpectacle INNER JOIN [...], qui marchent parfaitement. Je stock le résultat dans un DataSet, dans la table "TSpectacle".

Problème : dans la table "TSpectacle" du DataSet, j'aurai plusieurs lignes : une par requête !
Comment faire pour regrouper toutes les informations des tables en relation avec la table TSpectacle sur une seule ligne ?
En gros, comment faire une requête permettant de récupérer l'ensemble des informationsune ligne et une seule ?

J'ai cherché sur internet et je n'ai rien trouvé..

Merci d'avance pour votre aide,

-Papymuzo-
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 25 avril 2009 à 05:52
3
Merci
Salut
Si tu veux voir tous les champs de chacune des tables, il suffit de le lui dire.
Actuellement, ton Select ne liste que les champs de ta table TSpectacle et les "Inner Join" ne servent que de lien.
Essaye ça :
   Select TS.DUREE,
          TS.ILLUSTRATION,
          TA.DEMANDES_PARTICULIERES,
          TA.DIVERS,
          TT.DEMANDE_EN_MATERIEL,
          TT.DIVERS
     From TSpectacle TS, 
          TInfos_Artistiques TA, 
          TInfos_Techniques TT
    Where TS.ID_INFOS_ARTISTIQUES = TA.ID_INFOS_ARTISTIQUES
      And TS.ID_INFOS_TECHNIQUES = TT.ID_INFOS_TECHNIQUES

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Jack
cs_Papymuzo 169 Messages postés jeudi 24 juillet 2003Date d'inscription 17 août 2010 Dernière intervention - 25 avril 2009 à 11:49
0
Merci
Hello,

Je te remercie ton code marche à merveille :)

De plus, je l'ai un peu modifié en faisant un SELECT * FROM TSpectacle, TInfos_Artistiques [...].

Du coup, j'ai bien une seule entrée dans mon DataSet avec tous les éléments en liaison d'un coup ;)

-Papymuzo-
Commenter la réponse de cs_Papymuzo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.