Dédoublement des enregistrements d'une requête

Résolu/Fermé
BiankaBo Messages postés 68 Date d'inscription lundi 16 avril 2018 Statut Membre Dernière intervention 24 septembre 2024 - 13 mai 2020 à 14:35
BiankaBo Messages postés 68 Date d'inscription lundi 16 avril 2018 Statut Membre Dernière intervention 24 septembre 2024 - 13 mai 2020 à 20:57
Bonjour à vous!!

J'ai encore un problème de requête SQL [15_01-FORM_DRE] dans ma base de données.

Mon problème est le suivant : pour créer une requête que j'utilise dans mon état [15_01-FORM_DRE], je me sers de la table [14-PONDÉRATION_DSR] seulement pour faire un lien dans ma requête avec d'autres tables puisque les relations vont en ce sens pour que j'obtienne les bonnes informations. De ce fait, cela me cause un problème de dédoublement de données puisque le champ [14-PONDÉRATION_DSR].[NoDSR_PO] peut comporter le même chiffre dans plusieurs enregistrements distincts de cette même table. Ce dernier champ est lié au champ [08-DÉPENSES_SAL_RÉGUL].[No_DSR], information dont j'ai besoin dans ma requête. Par contre, la table [14-PONDÉRATION_DSR] est également liée à la table [06-ALLOCATIONS_BUGET], qui elle est liée à la table [03-ÉTABLISSEMENTS] où le champ [03-ÉTABLISSEMENTS].[Nom_ET] est l'information dont j'ai besoin.

En réalité, je n'ai besoin d'aucune information provenant directement de la table [14-PONDÉRATION_DSR] dans ma requête sauf pour faire un lien avec mes autres tables, sinon ça ne fonctionne pas. Cela me crée cependant un problème de dédoublement de données dont le nombre de fois qu'une donnée est dédoublée correspond au nombre d'enregistrements où le champ [14-PONDÉRATION_DSR].[NoDSR_PO] comporte le même chiffre. Je ne suis pas capable non plus de faire un GROUP BY dans ma requête puisque ça me met un message d'erreur me disant que j'omets quelque chose qui "fait partie d'une fonction d'agrégation" ou quelque chose du genre.

Voici donc des informations qui pourraient peut-être vous aider à mieux comprendre ma demande qui manque un peu de clarté..

- Mon code SQL:
SELECT [15-DONNÉES_REL_EMPLOI].NoDSR_DRE, [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR, 
[08-DÉPENSES_SAL_RÉGUL].MatYe_DSR, [08-DÉPENSES_SAL_RÉGUL].NomYe_DSR, 
[08-DÉPENSES_SAL_RÉGUL].DtDeb_DSR, [08-DÉPENSES_SAL_RÉGUL].DtFin_DSR, 
[08-DÉPENSES_SAL_RÉGUL].NbJrs_DSR, [08-DÉPENSES_SAL_RÉGUL].Ind_DSR, 
[08-DÉPENSES_SAL_RÉGUL].UnCal_DSR, [08-DÉPENSES_SAL_RÉGUL].Cout_DSR, 
[08-DÉPENSES_SAL_RÉGUL].DRE_DSR, [12-CORPS_EMPLOI].Titre_CE, [12-CORPS_EMPLOI].NoFAM_CE, 
[06-ALLOCATIONS_BUDGET].NoET_AL, [03-ÉTABLISSEMENTS].Nom_ET, 
[02-UTILISATEURS].Nom_UT, [02-UTILISATEURS].Sign_UT, 
[15-DONNÉES_REL_EMPLOI].No_DRE, [15-DONNÉES_REL_EMPLOI].Date_DRE, 
[15-DONNÉES_REL_EMPLOI].Com_DRE, [15-DONNÉES_REL_EMPLOI].NDest_DRE, 
[15-DONNÉES_REL_EMPLOI].CDest_DRE

FROM [12-CORPS_EMPLOI] 
INNER JOIN (([08-DÉPENSES_SAL_RÉGUL] LEFT JOIN [15-DONNÉES_REL_EMPLOI] 
ON [08-DÉPENSES_SAL_RÉGUL].No_DSR = [15-DONNÉES_REL_EMPLOI].[NoDSR_DRE]) 
INNER JOIN ((([02-UTILISATEURS] 
INNER JOIN [03-ÉTABLISSEMENTS] 
ON [02-UTILISATEURS].Code_UT = [03-ÉTABLISSEMENTS].CoUT_ET) 
INNER JOIN [06-ALLOCATIONS_BUDGET] 
ON [03-ÉTABLISSEMENTS].No_ET = [06-ALLOCATIONS_BUDGET].NoET_AL) 
INNER JOIN [14-PONDÉRATION_DSR] 
ON [06-ALLOCATIONS_BUDGET].No_AL = [14-PONDÉRATION_DSR].NoAL_PO) 
ON [08-DÉPENSES_SAL_RÉGUL].No_DSR = [14-PONDÉRATION_DSR].NoDSR_PO) 
ON [12-CORPS_EMPLOI].No_CE = [08-DÉPENSES_SAL_RÉGUL].NoCE_DSR;


- une image de mes relations qui pourraient peut-être vous aider:
https://drive.google.com/file/d/1cjrZ5K-WbvM-tJGCBOB8vohDfSdivzQB/view?usp=drive_open

- ma base de données complète:
https://drive.google.com/file/d/1tHprvbEePAcaCt4b4TtPGSaaKYb_H0EB/view?usp=sharing

N'hésitez pas à me dire s'il vous manque des informations ou si ce n'est pas clair..

Merci beaucoup à l'avance!!

2 réponses

yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 Ambassadeur 1 557
13 mai 2020 à 16:37
bonjour, j'ai un peu regardé, et je ne vois qu'une seule anomalie:
dans la table [14-PONDÉRATION_DSR], il n'y a pas d'index unique sur ([NoDSR_PO], NoAL_PO), et, pas de chance, il a deux enregistrements avec la même combinaison de valeurs.

A part cela, tout me semble normal.

Il me semble que ton modèle de données n'ait pas prévu de lien entre enseignant et école. Est-ce une bonne idée?
0
BiankaBo Messages postés 68 Date d'inscription lundi 16 avril 2018 Statut Membre Dernière intervention 24 septembre 2024
13 mai 2020 à 20:57
Merci beaucoup pour la réponse!! :)

En fait, mes anomalies sont voulues puisqu'un même [NoDSR_PO] peut être associé à plusieurs [NoAl_Po] et plusieurs [No_Po] peuvent avoir le même [NoDSR_Po].

Votre idée n'est pas bête, mais je ne peux pas associer une école au corps d'emploi "enseignant" en particulier, car il n'y a pas qu'un seul corps d'emploi possible. Par contre, ça m'a donnée l'idée de mettre le lien ailleurs, même si je trouve que ça a pour effet de faire le travail un peu en double légèrement, je crois que c'est plus simple comme cela et ça fonctionne parfaitement!

Vous avez donc réussi à m'éclairer encore une fois!!

Merci encore énormément pour vos solutions de qualité!!

Bonne journée! :)
0