OVH Cloud OVH Cloud

doublon

4 réponses
Avatar
olivier
Bonjour

Comment voir et detecter des doublons d'une table
mais pas sur un id mais sur la composition de 2 champs

Dans la table clients j'ai cli_codeagence(char de 6) et cli_ref (int)

j'aimerais voir et puis supprimer ces doublons sur la composition des ces 2
champs

merci,

Olivier

4 réponses

Avatar
Thierry
Bonjour,

Pour détecter :

SELECT cli_codeagenc, cli_ref, count(*)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Ensuite, pour pouvoir faire la suppression à l'aide d'une simple requete
DELETE , ça se complique, il faudrait trouver des champs discriminants.
Par exemple :

SELECT cli_codeagenc, cli_ref, count(*), max(date_heure_maj)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Tu pourra ensuite faire le DELETE avec une jointure du style :

JOIN ...
ON.... AND client.date_heure_maj<doublons.date_heure_maj
--
Thierry


"olivier" a écrit dans le message de news:
%

Bonjour

Comment voir et detecter des doublons d'une table
mais pas sur un id mais sur la composition de 2 champs

Dans la table clients j'ai cli_codeagence(char de 6) et cli_ref (int)

j'aimerais voir et puis supprimer ces doublons sur la composition des ces
2 champs

merci,

Olivier




Avatar
olivier
Merci thierry

En effet pas facile , je vais tester,

Alors gracias ;o)

olivier

"Thierry" a écrit dans le message de news:
uq%
Bonjour,

Pour détecter :

SELECT cli_codeagenc, cli_ref, count(*)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Ensuite, pour pouvoir faire la suppression à l'aide d'une simple requete
DELETE , ça se complique, il faudrait trouver des champs discriminants.
Par exemple :

SELECT cli_codeagenc, cli_ref, count(*), max(date_heure_maj)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Tu pourra ensuite faire le DELETE avec une jointure du style :

JOIN ...
ON.... AND client.date_heure_maj<doublons.date_heure_maj
--
Thierry


"olivier" a écrit dans le message de news:
%

Bonjour

Comment voir et detecter des doublons d'une table
mais pas sur un id mais sur la composition de 2 champs

Dans la table clients j'ai cli_codeagence(char de 6) et cli_ref (int)

j'aimerais voir et puis supprimer ces doublons sur la composition des ces
2 champs

merci,

Olivier








Avatar
Thierry
Un peu de lecture...

http://sql.developpez.com/doublons/

--
Thierry


"olivier" a écrit dans le message de news:

Merci thierry

En effet pas facile , je vais tester,

Alors gracias ;o)

olivier

"Thierry" a écrit dans le message de news:
uq%
Bonjour,

Pour détecter :

SELECT cli_codeagenc, cli_ref, count(*)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Ensuite, pour pouvoir faire la suppression à l'aide d'une simple requete
DELETE , ça se complique, il faudrait trouver des champs discriminants.
Par exemple :

SELECT cli_codeagenc, cli_ref, count(*), max(date_heure_maj)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Tu pourra ensuite faire le DELETE avec une jointure du style :

JOIN ...
ON.... AND client.date_heure_maj<doublons.date_heure_maj
--
Thierry


"olivier" a écrit dans le message de news:
%

Bonjour

Comment voir et detecter des doublons d'une table
mais pas sur un id mais sur la composition de 2 champs

Dans la table clients j'ai cli_codeagence(char de 6) et cli_ref (int)

j'aimerais voir et puis supprimer ces doublons sur la composition des
ces 2 champs

merci,

Olivier












Avatar
olivier
Impeccable,

j'avais perdu cette article dans ma base à connaissance

d'avance merci
Olivier



"Thierry" a écrit dans le message de news:
%
Un peu de lecture...

http://sql.developpez.com/doublons/

--
Thierry


"olivier" a écrit dans le message de news:

Merci thierry

En effet pas facile , je vais tester,

Alors gracias ;o)

olivier

"Thierry" a écrit dans le message de news:
uq%
Bonjour,

Pour détecter :

SELECT cli_codeagenc, cli_ref, count(*)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Ensuite, pour pouvoir faire la suppression à l'aide d'une simple requete
DELETE , ça se complique, il faudrait trouver des champs discriminants.
Par exemple :

SELECT cli_codeagenc, cli_ref, count(*), max(date_heure_maj)
FROM client
GROUP BY cli_codeagenc, cli_ref
HAVING count(*)> 1

Tu pourra ensuite faire le DELETE avec une jointure du style :

JOIN ...
ON.... AND client.date_heure_maj<doublons.date_heure_maj
--
Thierry


"olivier" a écrit dans le message de news:
%

Bonjour

Comment voir et detecter des doublons d'une table
mais pas sur un id mais sur la composition de 2 champs

Dans la table clients j'ai cli_codeagence(char de 6) et cli_ref (int)

j'aimerais voir et puis supprimer ces doublons sur la composition des
ces 2 champs

merci,

Olivier