Bonjour à tous,
Alors voilà, je cherche à optimiser une requête parce que celle que j'ai pour l'instant est un peu longue à s'exécuter.
Mon but est d'obtenir tous les sous répertoire d'un chemin donnée, par exemple si je veux les sous-répertoires de Rep2 :
\\NomServeur\Rep1\Rep2\Rep3\abc1.jpg
\\NomServeur\Rep1\Rep2\Rep3\abc2.jpg
\\NomServeur\Rep1\Rep2\Rep5\abc3.jpg
\\NomServeur\Rep1\Rep2\Rep5\Rep6\abc4.jpg
\\NomServeur\Rep1\Rep2\Rep7\abc.jpg
\\NomServeur\Rep1\Rep2\Rep8\abc.jpg
...
J'aurais : Rep3, Rep5, ...
Voilà pour l'instant je fais une requête toute simple pour tout récupérer :
SELECT path FROM table ORDER BY path
Puis je fais un traitement en VB.NET pour supprimer le début du chemin (ici : \\NomServeur\Rep1\Rep2), récupérer la chaine après le \ (ici : Rep3, Rep3, Rep5, Rep5, ...), puis les stockés, sauf si elles sont déjà stocké !
Mais voilà, si je pouvais déjà faire un 1er tri dans ma requête pour éliminer les débuts de chemin qui sont répétés :
\\NomServeur\Rep1\Rep2\Rep3\abc1.jpg
\\NomServeur\Rep1\Rep2\Rep3\abc2.jpg
=> N'en garder qu'un seul
Ca m'arrangerait bien pour les traitement par derrières qui seront alors beaucoup plus rapide, mais comment faire ?
Il me faudrait un distinct sur les "\\NomServeur\Rep1\Rep2\%\" sans tenir compte de la fin du chemin (abc1.jpg, abc2.jpg, ...).
Quelqu'un a une idée (si c'est clair^^)








Répondre avec citation







Partager