Bonjour à tous,
Je suis enquiquinée et je sollicite votre aide...
J'ai une requête super longue et souhaite l'alléger en faisant des sous-requêtes (plutôt que faire des conditions "si").
Je bosse sur des données comptables.
Pour faire court, j'ai identifié, dans une requête qNatureErreur, les éléments qui me posait problème :
J'obtiens une short list de mes écritures en erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Ecritures.NumUniq AS NumUniq, "Erreur" AS Erreur FROM Ecritures WHERE (([Ecritures].[Centre]=Left([Ecritures].[nature],Len([Ecritures].[Centre])))=0) ORDER BY Ecritures.NumUniq;
Maintenant, je voudrais prendre ma liste entière d'écriture et renseigner "Erreur" pour tous les "NumUniq" de la requête qNatureErreur et Null pour les autres.
En tout logique, j'ai fait une nouvelle requête comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT Ecritures.NumUniq, qNatureErreur.Erreur FROM Ecritures LEFT JOIN qNatureErreur ON Ecritures.NumUniq = qNatureErreur.NumUniq;
Mais j'obtiens " le NumUniq + erreur " partout, indépendamment de ma sous-requête qui aurait dû limiter la mention "Erreur" à quelques éléments.
La problématique est + complexe que ça, mais je pense que si l'on dénoue cela, je pourrais déployer sur le reste.
Qu'est-ce que j'ai loupé ?
Merci de votre aide
Partager