OVH Cloud OVH Cloud

Supprimer les doublon relatif d'un dataset...

6 réponses
Avatar
MrChris
Salut !
Je crois que cette question a déja été posé vers octobre dernier...
Mais je n'arrive pas a mettre la main dessus.

Donc, j'aimerais savoir comment on peut faire pour supprimer des
doublons relatif d'un dataset...

Une idée ?

Merci

PS, comment on dit doublons en anglais ?

6 réponses

Avatar
Ambassadeur Kosh
> Donc, j'aimerais savoir comment on peut faire pour supprimer des doublons
relatif d'un dataset...



un select sur la datatable avec une clause order apres le filter, et la, tu
marque tout ce qui est identique au precedent.
il doit y'avoir mieux, mais bon...

le mieux, c'est quand meme de mettre une contrainte pour ne pas laisser les
doublons entrer, eh :)

PS, comment on dit doublons en anglais ?



redundancy ? chsai plus
Avatar
MrChris
Ambassadeur Kosh a écrit :

Ok, je vais essayer comme ca...
Pour l'instant, car j'aimerais bien pouvoir faire une requète de ce
style dans mon dataset :

SELECT [champs(s)]
FROM MaTable T1
WHERE t1.cle < any
(SELECT cle FROM MaTable T2
WHERE T1.cle <> T2.cle)

Mais avec juste une propriété Filter c'est chaud !
Peut être qu'en clonant le dataset...

En tout cas merci, je vais pourvoir avancer !

MrChris
Avatar
Zoury
Bonjour !

PS, comment on dit doublons en anglais ?



redundancy ? chsai plus



Le terme le plus exacte serait "duplicate". ;O)


Et pour répondre à ta question, il nous manque trop d'information pour
répondre efficacement... Combien de lignes ta requête retourne-t-elle ?
Connais-tu la taille moyenne environ en octet d'une ligne retournée ? Car il
se pourrait fortement que le plus efficace soit de refaire une requête au
serveur en employant le mot clé DISTINCT dans ta requête.

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Ambassadeur Kosh
"MrChris" a écrit dans le message de news:
%
Ambassadeur Kosh a écrit :

Ok, je vais essayer comme ca...
Pour l'instant, car j'aimerais bien pouvoir faire une requète de ce style
dans mon dataset :

SELECT [champs(s)]
FROM MaTable T1
WHERE t1.cle < any
(SELECT cle FROM MaTable T2
WHERE T1.cle <> T2.cle)

Mais avec juste une propriété Filter c'est chaud !



à voir.

http://www.akadia.com/services/dotnet_filter_sort.html
http://www.csharpfr.com/forum.v2.aspx?IDT5554

et l'incontournable reference en la matiere :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatadatacolumnclassexpressiontopic.asp
Avatar
MrChris
Avatar
MrChris
Zoury a écrit :

Et pour répondre à ta question, il nous manque trop d'information pour
répondre efficacement... Combien de lignes ta requête retourne-t-elle ?
Connais-tu la taille moyenne environ en octet d'une ligne retournée ? Car il
se pourrait fortement que le plus efficace soit de refaire une requête au
serveur en employant le mot clé DISTINCT dans ta requête.



2000 lignes max avec entre 40000 et 50000 octets.
La Clé comporte 5 champs et varie entre 10 et 20 octets.
Merci