bonjour,
j'ai une table clients (numcli, nomcli)
par ex,
123 toto
456 tata
123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli.
je voudrais garder seulement la derniere entrée en cas de doublons sur le
numcli
par ex
456 tata
123 toto sa
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fr
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond bien à ce que tu veux)
select * from clients where id in (SELECT max(id) from clients group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer delete clients where id NOT in (SELECT max(id) from clients group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date de création de l'enregistrement du genre DATECREA avec en valeur par défaut un getdate(). Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement mieux à faire)
select * from clients where cast(numcli as varchar(10)) + cast(datecrea as varchar(20)) in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20)) from clients group by numcli)
J'espère avoir éclairé ta lanterne...
"arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond
bien à ce que tu veux)
select *
from clients
where id in (SELECT max(id)
from clients
group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer
delete clients
where id NOT in (SELECT max(id)
from clients
group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date
de création de l'enregistrement du genre DATECREA avec en valeur par défaut
un getdate().
Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement
mieux à faire)
select *
from clients
where cast(numcli as varchar(10)) + cast(datecrea as varchar(20))
in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20))
from clients
group by numcli)
J'espère avoir éclairé ta lanterne...
Fr@ncky
"arnaud" <zoeil95@yahoo.fr> a écrit dans le message de
news:cimi5b$o26$1@s5.feed.news.oleane.net...
bonjour,
j'ai une table clients (numcli, nomcli)
par ex,
123 toto
456 tata
123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli.
je voudrais garder seulement la derniere entrée en cas de doublons sur le
numcli
par ex
456 tata
123 toto sa
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond bien à ce que tu veux)
select * from clients where id in (SELECT max(id) from clients group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer delete clients where id NOT in (SELECT max(id) from clients group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date de création de l'enregistrement du genre DATECREA avec en valeur par défaut un getdate(). Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement mieux à faire)
select * from clients where cast(numcli as varchar(10)) + cast(datecrea as varchar(20)) in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20)) from clients group by numcli)
J'espère avoir éclairé ta lanterne...
"arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
Raphael
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir stp merci "arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de
doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto
et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir
stp merci
"arnaud" <zoeil95@yahoo.fr> a écrit dans le message de
news:cimi5b$o26$1@s5.feed.news.oleane.net...
bonjour,
j'ai une table clients (numcli, nomcli)
par ex,
123 toto
456 tata
123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli.
je voudrais garder seulement la derniere entrée en cas de doublons sur le
numcli
par ex
456 tata
123 toto sa
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir stp merci "arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
Fred BROUARD
une petite étude sur le sujet : http://sqlpro.developpez.com/Doublons/Doublons.html
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Raphael a écrit:
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir stp merci "arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
une petite étude sur le sujet :
http://sqlpro.developpez.com/Doublons/Doublons.html
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Raphael a écrit:
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de
doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto
et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir
stp merci
"arnaud" <zoeil95@yahoo.fr> a écrit dans le message de
news:cimi5b$o26$1@s5.feed.news.oleane.net...
bonjour,
j'ai une table clients (numcli, nomcli)
par ex,
123 toto
456 tata
123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli.
je voudrais garder seulement la derniere entrée en cas de doublons sur le
numcli
par ex
456 tata
123 toto sa
une petite étude sur le sujet : http://sqlpro.developpez.com/Doublons/Doublons.html
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Raphael a écrit:
J'ai exactement le meme probleme que toi, j'arrive à ne plus avoir de doublons sur le numcli en fesant GROUP BY numcli mais il me laisse 123 toto et pas la derniere entrée 123 toto sa... si tu trouves fais le moi savoir stp merci "arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
Fred BROUARD
une petite étude sur le sujet : http://sqlpro.developpez.com/Doublons/Doublons.html
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
a écrit:
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond bien à ce que tu veux)
select * from clients where id in (SELECT max(id) from clients group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer delete clients where id NOT in (SELECT max(id) from clients group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date de création de l'enregistrement du genre DATECREA avec en valeur par défaut un getdate(). Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement mieux à faire)
select * from clients where cast(numcli as varchar(10)) + cast(datecrea as varchar(20)) in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20)) from clients group by numcli)
J'espère avoir éclairé ta lanterne...
"arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa
merci de votre aide arnaud
une petite étude sur le sujet :
http://sqlpro.developpez.com/Doublons/Doublons.html
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Fr@ncky a écrit:
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond
bien à ce que tu veux)
select *
from clients
where id in (SELECT max(id)
from clients
group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer
delete clients
where id NOT in (SELECT max(id)
from clients
group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date
de création de l'enregistrement du genre DATECREA avec en valeur par défaut
un getdate().
Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement
mieux à faire)
select *
from clients
where cast(numcli as varchar(10)) + cast(datecrea as varchar(20))
in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20))
from clients
group by numcli)
J'espère avoir éclairé ta lanterne...
Fr@ncky
"arnaud" <zoeil95@yahoo.fr> a écrit dans le message de
news:cimi5b$o26$1@s5.feed.news.oleane.net...
bonjour,
j'ai une table clients (numcli, nomcli)
par ex,
123 toto
456 tata
123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli.
je voudrais garder seulement la derniere entrée en cas de doublons sur le
numcli
par ex
456 tata
123 toto sa
une petite étude sur le sujet : http://sqlpro.developpez.com/Doublons/Doublons.html
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
a écrit:
Il faut quelque chose qui puisse nous dire quelle est la dernière entrée.
Si tu as un champ compteur (IDENTITY) du genre ID alors je ferais :
Un petit select pour voir ceux que tu garderais (voir si cela correspond bien à ce que tu veux)
select * from clients where id in (SELECT max(id) from clients group by numcli)
En effet, le dernier saisi sera celui qui à le plus grand compteur.
Pour supprimer delete clients where id NOT in (SELECT max(id) from clients group by numcli)
Si tu n'a pas de champs IDENTITY il faut au moins un champ qui donne la date de création de l'enregistrement du genre DATECREA avec en valeur par défaut un getdate(). Je ferais alors .... mais là Fred va peut-être crier ;-)) (il y a surement mieux à faire)
select * from clients where cast(numcli as varchar(10)) + cast(datecrea as varchar(20)) in (SELECT cast(numcli as varchar(10)) + cast(max(datecrea) as varchar(20)) from clients group by numcli)
J'espère avoir éclairé ta lanterne...
"arnaud" a écrit dans le message de news:cimi5b$o26$
bonjour, j'ai une table clients (numcli, nomcli) par ex, 123 toto 456 tata 123 toto sa
je ne sais pas comment supprimer les doublons sur le numcli. je voudrais garder seulement la derniere entrée en cas de doublons sur le numcli par ex 456 tata 123 toto sa