{Access} Requète avec SELECT

Résolu/Fermé
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 - 7 août 2009 à 15:26
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 - 7 août 2009 à 18:12
Bonjour,

J'ai un problème avec une requète. Je recupère des données dans plusieurs tables liées. Le soucis c'est que lorsqu'une des tables n'est pas renseignée la ligne est tout simplement ignorée.
Y a-t-il une méthode qui me permettrait de récupérer les bonnes données avec une valeur nulle pour les champs non renseignés?

SELECT [SITE_VEHI].[Libelle_Site], [VEHICULE].[Numero_Immatriculation], [VEHICULE].[Marque], [CONDUCTEUR].[Nom], [CONTRAT_LLD].[Forfait_Contrat]
FROM ((VEHICULE INNER JOIN CONTRAT_LLD ON [VEHICULE].[Numero_Immatriculation]=[CONTRAT_LLD].[Numero_Immatriculation]) INNER JOIN SITE_VEHI ON [VEHICULE].[Numero_Immatriculation]=[SITE_VEHI].[Numero_Immatriculation]) INNER JOIN (CONDUCTEUR INNER JOIN CONDUCT_VEHI ON [CONDUCTEUR].[NNI_Conducteur]=[CONDUCT_VEHI].[NNI_Conducteur]) ON [VEHICULE].[Numero_Immatriculation]=[CONDUCT_VEHI].[Numero_Immatriculation]
WHERE [SITE_VEHI].[Libelle_Site]="Site1"
ORDER BY [VEHICULE].[Numero_Immatriculation];

Peut-être que les INNER JOIN posent problèmes?
Merci d'avance,
Gwendo.

3 réponses

Bonjour,

Oui, c'est à cause des INNER JOIN.
Apparemment, tu utilises celà sans savoir ce que ça fait... étrange...

A ta place, je me renseignerai d'abord sur les différents types de jointures (INNER, LEFT, RIGHT), avant de chercher à coder des requêtes SQL.
Tu trouveras tout ce dont tu as besoin sur google.

Cordialement, M.
1
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
7 août 2009 à 18:07
Hello, s'il s'agit de récupérer les valeurs non renseignées, tu devrais construire tes jointures avec des LEFT Join.
Là dès qu'une liaison sera caduque, tu le saura. NULL remonte : signifie qu'il n'a pas trouvé de correspondance dans la table de droite.

Comme on te l'as indiqué précédemment, renseigne toi sur les différentes types de jointure.
Perso je n'emploie que des LEFT join parce que je monte toujours des schémas en ce sens.
1
Gwendo69 Messages postés 147 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 28 juin 2013 13
7 août 2009 à 18:12
Merci beaucoup pour vos réponses.
A+. Gwendo.
0