|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 17 ![]() |
Bonjour
Je ne sais pas si le titre reflete bien mon probleme. j'ai fait une base avec une table personne (nom, prenom, appartement) et une table echange (id_nom, id_nom1, id_nom2) Cela me permet de gerer des echanges d'appartement. Par défaut j'ai deux personnes qui echange leur appartement, et exeptionnellement je peux avoir des echanges à trois. j'ai donc fait une requette pour avoir les noms des personnes qui echange. Ma requette est constitué de ma table echange et de deux tables personne. Cela me permet de voir les échanges à deux. Mais si je rajoute une troisieme fois ma table personne, je ne vois plus que les echange à trois. J'ai essaye de jouer sur le type de jointure de la troisieme table, mais cela ne fonctionne pas Pour le moment j'ai fait deux requettes pour avoir tous les resultats, mais cela m'oblige à gerer deux listes. Est ce qu'il est possible de faire cela avec une seul requette ? Merci pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() |
Salut,
peut-on partir du principe qu'en cas d'échange à trois les 3 champs sont renseignés et qu'en cas d'échange à 2, le champ 3 est à Null ?
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 17 ![]() |
oui le troisième champ est null quand il y a un echange à deux
|
|
|
00
|
|
|
#4 |
![]() ![]() |
Deux possibilités arrivent en priorité :
- requete avec jointure left join au lieu de inner join sur ton champ 3 - requete UNION
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 17 ![]() |
Merci pour la réponse, en faite j'avais deja essaye avec le left join, mais le probleme venait que j'ai une table appartement lié à la table personne dans ma requete.
Donc comme dans ta réponse tu m'a dit que cela devait marcher, j'ai fait des tests. En faite quand j'enleve la table appartement cela fonctionne avec le left. J'ai donc rajouter ma table appartement que j'ai lié aussi avec un left join et tout fonctionne. Quand je n'avais pas le left sur la table appartement, j'avais un message d'erreur du type " The SQL statement could not be executed because it contains ambigous outer joins" En tout cas merci pour ta réponse. Cordialement Frédéric |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 187 ![]() |
Bonjour Fmagh et Jpcheck,
Je me permets de m'immiscer, Jpcheck... Ne faudrait-il pas revoir la conception ? Suggestion (souligné=clé primaire numéro auto, #=clé étrangère) : Personne(IdPersonne, Nom, ...) ;Fmagh, je te laisse établir les relations qui sont relativement évidentes.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com