Nombre de caractères avant la chaine recherchée

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 17 févr. 2011 à 10:28
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 18 févr. 2011 à 09:48
Bonjour à tous,

J'ai une table avec pour champs : une clé, un libellé et un montant.

Certains libellé contiennent le mot "recalculé".
Les lignes ayant le libellé "...*recalculé*..." sont associées à 1/+ieurs autres lignes n'ayant pas écrit dans leur libellé le mot "recalculé".

Je dois ressortir toutes les lignes concernées par les "recalculé".

Pour se faire je dois :
1/ select les lignes ayant dans le libellé "recalculé" (facile)
2/ select les lignes dont le DEBUT du libellé est identique à LA CHAINE SE TROUVANT DEVANT LE MOT "recalculé" dans une autre libellé.

Pour être plus clair, un exemple :

1;toto et titi;12
2;rara recalculé tata;25
3;toto et titi;2
4;rara;3
5;papa;62
6;mimi;10
7;toto et titi recalculé popo;10

Je dois ressortir les clés : 2, 7, 4, 1, 3

Je pense que la solution peut en intéresser plus d'un ;)

''***************************************************************************
...à votre service
Thanks & Peace
Tonio

3 réponses

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
17 févr. 2011 à 10:30
PS : tout ça en SQL...


''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 févr. 2011 à 21:48
salut,

tu auras plus de réponses sur le forum concerné :
http://www.sqlfr.com/

ps : pense à préciser alors la version de ta base, du moteur, etc
"en SQL" c'est vaste :)

[hr]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
18 févr. 2011 à 09:48
salut,

merci, il s'agit d'un tableau excel...

je vais voir sur sqlfr.com

je pense avoir "contourné" le problème en me limitant aux 20 premiers caractères de la chaine.

du style :
...where left(libelle, 20) in (select left(libelle, 20) from...where libelle = "*refacture*";)

C'est pas exactement se que je voulais mais pas grave.

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
Rejoignez-nous