Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2018 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU][SQL/ACCESS] Problème jointure

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU][SQL/ACCESS] Problème jointure

n°1981062
kojiro64
Posté le 06-04-2010 à 09:57:24  profilanswer
 

Bonjour à tous,
 
Je vous explique le problème :  
 
J'ai une table T_EQPT qui possède une liste de moteurs et de modules associés, les modules appartenant à un moteur donné possèdent le meme "equipmentCodeMainFather" que ce moteur. La ou ca se complique, c'est que chaque moteur dans cette liste possède un "EquipmentFLCode" , une clé étrangère qui pointe sur une autre table T_FL, mais seuls les moteurs dans la table T_EQPT ont cette colonne de remplie, pas les modules associés.
Dans T_FL j'ai en fait la liste des moteurs en activité (il y a une colonne Status qui me permet de le savoir à l'intérieur), et une donnée que je dois récupérer (le nombre d'heures de vol annuel) pour affecter cette dernière aux différents modules de ce moteur et faire des calculs.
 
Problème n°1 : je n'arrive pas à avoir la liste des moteurs en activité avec les modules associés, ma requête m'affiche pour le moment que les moteurs et pas les modules (car mon INNER JOIN enlève tous les modules vu qu'ils n'ont pas de EquipmentFLCode...)
 
Problème n°2 : Si je parviens à résoudre le problème 1, comment avoir ma donnée d'heures de vol affichée devant chacun des modules associés au moteur en question.
 
 
Merci d'avance


Message édité par kojiro64 le 06-04-2010 à 15:17:48
mood
Publicité
Posté le 06-04-2010 à 09:57:24  profilanswer
 

n°1981141
kojiro64
Posté le 06-04-2010 à 11:34:40  profilanswer
 

Bon le problème 1 est résolu à l'aide d'un left join, mais je vois toujours pas comment "propager" la donnée disponible heure de vol au niveau des modules d'un moteur.

n°1981217
kojiro64
Posté le 06-04-2010 à 14:09:31  profilanswer
 

Un petit exemple de ce que je souhaite obtenir :
 
Table tbl_eqpt
 
Type_piece  EquipmentCodeMainFather  EquipmentFLCode
Moteur1       34                               01A
Mod1          34
Mod2          34
Mod3          34
Moteur2       35                               0FF
Mod1          35
Mod2          35
Mod3          35
Moteur 3      36                                F82
...
 
Table T_FL
 
Type pièce     FLCode    HeuresdeVolAnnuelles
Moteur1         01A        500
Moteur2         0FF         400
Moteur3         F82         750
 
 
 
Ma requete finale souhaitée :  
 
Type_piece  EquipmentCodeMainFather  EquipmentFLCode   HeuresDevolAnnuelles
Moteur1       34                               01A                    500
Mod1          34                                                         500
Mod2          34                                                         500
Mod3          34                                                         500  
Moteur2       35                               0FF                     400
Mod1          35                                                         400
Mod2          35                                                         400
Mod3          35                                                         400
Moteur 3      36                                F82                    750
Mod1           36                                                         750

n°1981233
Oliiii
Posté le 06-04-2010 à 14:30:14  profilanswer
 

Code :
  1. SELECT a.Type_Piece, a.EquipmentCodeMainFather, a.EquipmentFLCode, c.HeuresdeVolAnnuelles
  2. FROM tbl_eqpt a
  3.     JOIN tbl_eqpt b ON a.EquipmentCodeMainFather = b.EquipmentCodeMainFather
  4.     JOIN T_FL c ON c.FLCode = b.EquipmentFLCode


 
Resultat:


Type_Piece  EquipmentCodeMainFather  EquipmentFLCode  HeuresdeVolAnnuelles
Moteur1     34                       01A              500
Mod1        34                       NULL             500
Mod2        34                       NULL             500
Mod3        34                       NULL             500
Moteur2     35                       0FF              400
Mod1        35                       NULL             400
Mod2        35                       NULL             400
Mod3        35                       NULL             400
Moteur3     36                       F82              750
Mod1        36                       NULL             750

n°1981257
kojiro64
Posté le 06-04-2010 à 15:17:05  profilanswer
 

Merci tu es un dieu (au moins pour cette après-midi :) )


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU][SQL/ACCESS] Problème jointure

 

Sujets relatifs
Méga problème de la mort avec XSLTliste incremental string [RESOLU]
Probleme avec getDefinitionByNameparser une ligne de commande : problème avec noms génériques de fics
problème SGBD avec win'designRequete update ACCESS
[SQL Server] Faire un merge entre deux serveurs[RESOLU] suis perdu sur mon bout de code
[MYSQL] Lister valeur supérieure ou égale à 8 caractères[RESOLU] gtk compilation dans un makefile
Plus de sujets relatifs à : [RESOLU][SQL/ACCESS] Problème jointure


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR