Problème de jointure sur une requête
teo13
-
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je me permets de solliciter car j'ai un soucis sur Access.
Je vous explique mon problème :
J'ai 3 tables, une comportant le N° de contrat, une autre le NB de sinistre par contrat et une autre avec le nombre d'appels juridiques.
Lorsque je fais la jointure par rapport au N° de contrat pour afficher par contrat : le nombre de sinistres et le nombre d'appels juridiques en face, cela ne fonctionne pas.
En effet, la jointure affiche uniquement les résultats où les valeurs sont égaux (externe gauche ou externe droite).
C'est à dire imaginons que pour un N° de contrat, il y a 4 sinistres mais aucun appels juridiques, la ligne n'apparait pas sur ma requête.
Que dois-je faire pour que la requête m'affiche toutes les informations de la base en me mettant des 0 si pour un contrat il y a des sinistres mais pas d'appels juridiques ?
Existe t-il une jointure externe gauche ET droite ?
Merci beaucoup pour votre aide.
Cordialement,
Jérôme
Je me permets de solliciter car j'ai un soucis sur Access.
Je vous explique mon problème :
J'ai 3 tables, une comportant le N° de contrat, une autre le NB de sinistre par contrat et une autre avec le nombre d'appels juridiques.
Lorsque je fais la jointure par rapport au N° de contrat pour afficher par contrat : le nombre de sinistres et le nombre d'appels juridiques en face, cela ne fonctionne pas.
En effet, la jointure affiche uniquement les résultats où les valeurs sont égaux (externe gauche ou externe droite).
C'est à dire imaginons que pour un N° de contrat, il y a 4 sinistres mais aucun appels juridiques, la ligne n'apparait pas sur ma requête.
Que dois-je faire pour que la requête m'affiche toutes les informations de la base en me mettant des 0 si pour un contrat il y a des sinistres mais pas d'appels juridiques ?
Existe t-il une jointure externe gauche ET droite ?
Merci beaucoup pour votre aide.
Cordialement,
Jérôme
A voir également:
- Problème de jointure sur une requête
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Erreur de requete facebook - Forum Facebook
- Requete sql pix - Forum PHP
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Android
J'ai essayé les 3 types de jointures sur Access à l'aide du mode création mais sans succès !
Il ne m'affiche pas les lignes contenant une valeur NULL dans les tables sinistres ou dans la table des appels juridiques :(
Si un contrat n'a pas de sinistre ou d'appels juridiques ou ne contient qu'une valeur dans les 2, la ligne ne s'affiche pas...
Si tu as des tables qui contiennent, comme tu l'indiques, le nombre de sinistres ou le nombre d'appels, alors ce nombre peut être à zéro et dans ce cas, pas besoin de jointures droite ou gauche, l'équijointure fonctionne correctement.
Tes tables ne seraient-elles pas plutôt des tables de 'listes' d'appels ou de sinistres, expliquant le fait qu'il peut ne pas exister d'entrée pour un contrat ?
Non mes tables ne sont pas des listes, j'ai juste le N° contrat et en face le nombre de RJ du contrat N° XXXX, idem pour les sinistres
Ce que je voudrais c'est de faire apparaitre
N° Contrat NB sinistres NB RJ
1 3 2
2 4 5
3 10 0
Mais lorsque je fais ma requête, j'obtiens cela :
N° Contrat NB sinistres NB RJ
1 3 2
2 4 5
La ligne du contrat N°3 disparait, a cause du nombre NULL de RJ...
Peux-tu mettre le texte de la requête ?
De plus, je m'interroge sur la pertinence de ton modèle de données, car on est dans une relation 1-1, qui devrait en principe faire mettre les données dans la table principale...
SELECT [Requête 1 : TEST].[N° Police cie], Sum([Requête 2 : TEST].[SommeDeNB TOTAL]) AS [SommeDeSommeDeNB TOTAL], Sum([Requête 3 : TEST].[SommeDeNB RJ]) AS [SommeDeSommeDeNB RJ]
FROM ([Requête 1 : TEST] INNER JOIN [Requête 2 : TEST] ON [Requête 1 : TEST].[N° Police cie]=[Requête 2 : TEST].[N° Police cie]) INNER JOIN [Requête 3 : TEST] ON [Requête 1 : TEST].[N° Police cie]=[Requête 3 : TEST].[N° Police cie]
GROUP BY [Requête 1 : TEST].[N° Police cie];
J'ai 3 tables, une contenant l'ensemble des N° contrat (N° police cie)
une autre contenant le nombre de sinistre (SommeDeNB TOTAL)
Et la dernière, le nombre de RJ (SommedeNB RJ)
Merci beaucoup pour ton assistance !
Oui je suis d'accord avec toi, mais dans le cas présent, le 0 n'apparait pas ! Access supprime la ligne entière ... :(