Menu

Problème de ligne en doublon [Résolu]

ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 28 févr. 2018 à 09:13 - Dernière réponse : ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention
- 6 mars 2018 à 06:58
Bonjour,
je suis sous sqldevelopper et je rencontre souvent un problème de doublon, lorsque j'éxécute certaines requêtes.
Ex :
si je fais un simple select avec distinct, qui me retourne identifiant, nom, prenom, age avec 5/6 inner join , j'ai aucun problème il me retourne 10 lignes .
Mais quand je rajoute toutes les autres informations, ex : nomEntreprise, siret, n°rib, iban, tempstravaillé dans l'entreprise, etc....... là j'ai mes 10 lignes mais au total je me retrouve avec par ex 250 lignes car j'ai plein de lignes en double, comment ça se fait ?
merci à vous


Afficher la suite 

Votre réponse

11 réponses

Reivax962 3232 Messages postés jeudi 16 juin 2005Date d'inscription 15 juin 2018 Dernière intervention - 28 févr. 2018 à 09:52
0
Merci
Bonjour,

Il faudrait que tu nous montres un peu ta requête et les données de ta base pour qu'on puisse te répondre. Ça peut venir de tes données, des jointures...

Xavier
ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 1 mars 2018 à 11:39
ah oui pardon la derniere ligne on peut l'enlever :
inner join table_anne td6 on td6.dzx010=tdossier1.tdossier__idd010

en fait je me suis rendu compte que c'est une jointure que j'ai fait en double, mais en l'enlevant ça me donne le même resultat, donc la 1ere jointure est la bonne
ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 1 mars 2018 à 13:20
En rajoutant des champs provenant des tables que j'utilise dans mes joints, j'ai moins de doublons, mais j'en ai toujours des doublons .
Un cas concret :
avc ma requete de base (plus haut) , j'ai 36 resultats :
de la ligne 1 à 18 j'ai 1000000000 etc...
de 19 à 38 1000000001 etc....

en rajoutant les champs des tables qui composent mes jointures, j'ai toujours 38 lignes .
Je soupçons l'un de mes champs dans lequel il y a des valeurs différents, pour un champs selectionné exemple tauxHoaire, j'ai ceci :
taux
1000000000 123456 2016 25,2
1000000000 123456 2016 25,2
1000000000 123456 2016 12,2
1000000000 123456 2016 12,2
1000000000 123456 2016 5.9
1000000001 123456 2016 2.2
1000000001 123456 2016 2.3
1000000001 123456 2016 2.3
1000000001 123456 2016 2.6
1000000002 123456 2016 etc...
1000000003 123456 2016 etc....
ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 1 mars 2018 à 16:20
petite info :
j'ai changé l'ordre de mes jointures et je n'ai quasi plus aucun doublon.

J'ai remarqué une chose, lorsque j'enleve un champ ( indispensable ), il me met des doublons, mais sans se champs, il n'y a plus de doublons, c'est bizarre.

Le champ provient de la table table_conge2 en fait
yg_be 5787 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 17 juin 2018 Dernière intervention > ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 1 mars 2018 à 20:28
quelle est la différence entre "enlever un champ", et "sans ce champ"?
as-tu supprimé le "distinct" (vois le #3)?
ptisephy 30 Messages postés jeudi 4 décembre 2008Date d'inscription 18 mai 2018 Dernière intervention - 6 mars 2018 à 06:58
J'ai trouvé ma solution, le problème vient d'une jointure mal faite.
Pour répondre à ta question, en enlevant le distinct c'est pire car j'ai tjr plusieurs lignes.
Sans se champ : j'ai plus de doublons mais il est indispensable donc obligé de le mettre.
J'ai recherché par mis plusieurs requêtes créés et j'en ai trouvé une qui y ressemble, il me restait juste 2 jointures à faire mais j'en ai chié, les jointures déjà en place c'était du genre :
Inner join ( select ID,...,...,... From table inner join... Inner join... Where...) table on idée fable etc.... J'en avais jamais fait lol mais au bout de qq jours j'ai à peu près saisi le principe lol.
Un grand merci à toi
Commenter la réponse de Reivax962