Requête sql union de ms access erronée sans le prédicat all.

Soyez le premier à donner votre avis sur cette source.

Vue 6 169 fois - Téléchargée 439 fois

Description

Mon travail consiste à fournir à des gestionnaires des données budgétaires à jour. Ces données se composent d?un budget original pour chaque projet de construction et de virements. Un virement est un montant budgétaire soustrait d?un projet (provenance) et ajouté à un autre (destination). Pour produire le budget après virements par projet, j?ai créé une série de requêtes basées sur 2 tables (budget original et virements) qui fournissent;
- les provenances budgétaires (montants soustraits du budget d?un projet);
- les destinations budgétaires (montants ajoutés au budget d?un projet);
- l?union des provenances et destinations;
- le total net des virements par projet basé sur la requête précédente;
- le budget après virements basé sur la table du budget original et la requête précédente.

A mon premier essai et après vérification, j?ai constaté que le budget après virement d?un projet était erroné parce que la requête UNION ne tenait pas compte d?un virement. Ce virement avait la même provenance, destination et montant qu?un autre virement et n?était pas pris en considération parce UNION exclut les duplicatas. J?ai résolu le problème en remplaçant UNION par UNION ALL.

Le fichier zip ci-inclus (base Access 2000) démontre cet effet.

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61 -
Salut
Cette source pourrait plutôt intéresser la section SQL de Codes-Sources ...
> http://www.sqlfr.com/

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.