Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 16h31   #1
Invité régulier
 
Inscription : juillet 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 37
Points : 8
Points : 8
Par défaut Ma requête est elle possible?

Bonjour,

Dans un champ text j'ai des valeurs de ce type:
50-7865
10-985
25-789
etc...

Mon problème c'est que j'ai besoin de sortir les références qui ont moins de 40 avant le premier tiret...

Est-ce réalisable? Si oui, avez vous des pistes à me proposer?

Merci.
un_passant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 17h00   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 661
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 661
Points : 2 665
Points : 2 665
Bonjour,

on peut se demander si vous avez bien modélisé vos références (il aurai peut-être été util de spliter votre références en différent lots).

Sinon pour la demande, vous pouvez utilisez le substr ou left pour ne prendre qu'une partie d'une string.
http://dev.mysql.com/doc/refman/5.5/...functions.html
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 17h13   #3
Invité régulier
 
Inscription : juillet 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 37
Points : 8
Points : 8
En effet, c'est quelque chose que je n'avais pas prévu...
D'après toi il faut mieux passer sur 2 champs entier?

J'ai trouvé juste avant ton post :
SUBSTRING(champ, 1, INSTR(champ,'-'))<40

Merci pour ton aide
un_passant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 17h46   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 661
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 661
Points : 2 665
Points : 2 665
Ca seul vous pourrez y répondre.

Le problème étant de voir si vos références peuvent changer de format dans le temps ou non.

Maintenant si elles sont systématique du type XX-YYYYYYY-DDD-CCC ou que sais-je, cela peut être intéressant d'envisager une autre structure pour faciliter les recherches.

les problèmes commenceront à ce faire sentir quand vous aurez beaucoup de références, passer par des table scan systématiquement peut être assez délicat pour les perfs.

(et je ne parlerai pas pas de l'utilisation d'un substr ou like qui ne sont pas terrible)

Une autre approche d'ailleurs à votre problème (qui serai peut-etre meilleur) serai d'utiliser : like '40-%' au lieu du substr

Logiquement si votre référence est indexée, celui-ci pourra peut-être utilisé.
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 10h24   #5
Invité régulier
 
Inscription : juillet 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 37
Points : 8
Points : 8
Citation:
Envoyé par punkoff Voir le message
Ca seul vous pourrez y répondre.

Le problème étant de voir si vos références peuvent changer de format dans le temps ou non.

Maintenant si elles sont systématique du type XX-YYYYYYY-DDD-CCC ou que sais-je, cela peut être intéressant d'envisager une autre structure pour faciliter les recherches.

les problèmes commenceront à ce faire sentir quand vous aurez beaucoup de références, passer par des table scan systématiquement peut être assez délicat pour les perfs.
Je crois que je vais revoir cette partie


Citation:
Envoyé par punkoff Voir le message
Une autre approche d'ailleurs à votre problème (qui serai peut-etre meilleur) serai d'utiliser : like '40-%' au lieu du substr
Oui mais dans ce cas je ne peux pas avoir les références en dessous de 40 :/
un_passant est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h22.


 
 
 
 
Partenaires

Hébergement Web