Bonjour,
Une partie de la question est dans le titre.
j'ai une table A
id clef primaire integer
nom
prenom
...
j'intègre mes données avec SQLloader
donc pas de vérification des doublons.
Je cherche grâce à une requête à récupérer sous forme de tableau les
doublons en fonction des id.
Pb :
Si je fais select nom, prenom, count(*) from A group by nom,prenom
having count(*)>1 je ne récupère que les noms et prenoms qui sont les doublons.
C'est bien mais il faut que je fasse une autre requête pour récupérer
chaque ligne id ??
genre id
10 -> 11
12->40 etc ..
dans le même ordre d'idée j'avais fais
select A1.id,A2.id from A A1,A A2
where
A1.id != A2.id
and A1.nom = A2.nom and A1.prenom = A2.prenom;
Je me suis retrouvé avec
10 -> 11
11 -> 10
25 -> 30
30 -> 25 etc
c'est plutôt bien mais ce qui me perturbe c'est comment utiliser le résultat
dans une fonction ou procédure pour
1 identifier la ou les lignes
2 insérér les doublons dans une nouvelles tables.
3 effacer les lignes en doublons ( toutes )
exemple :
lign 10 en doublon avec 11 donc j'insère 10 et 11
dans une table tempo, et j'efface 10 et 11 de ma table.
puis je passe à la suite.
si je fais cela dans un curseur le résultat suivant sera 11
en doublon avec 10 d'ou ma mon enchevètrement synaptique.
bref, suis je clair .
Si oui , bah t'en mieux
sinon si quelqu'un à déjà eu ce genre de pb son avis sera le bien venu.
Olivier
Partager