Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2839 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Trouver un l'indicatif le plus proche en SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trouver un l'indicatif le plus proche en SQL

n°1919752
betsamee
Asterisk Zeperyl
Posté le 31-08-2009 à 09:05:49  profilanswer
 

Bonjour ,  
J'ai un problème assez simple
 
Une table indicatifs contenant des données de ce type:
 
01
012
01234
0245
06
061
.....
 
j'aimerais construire une requête qui me donne pour un input donne , l'indicatif qui lui correspond (le plus proche)
 
par exemple , avec les données de ma table si mon input est 0123785412 je recois 012, si par contre l'input est 01234785214 je recois 01234
 
merci de votre aide


---------------
un blog sur Asterisk
mood
Publicité
Posté le 31-08-2009 à 09:05:49  profilanswer
 

n°1919766
rufo
Pas me confondre avec Lycos!
Posté le 31-08-2009 à 09:50:51  profilanswer
 

Sans + d'infos, je dirais que connaissant dans ta base le nb de caractères du plus long indicatif, tu vas de voir lancer n requêtes en base.
Ex : si ton plus long indicatif est de 5 caractères et que ton input est 0123785412, alors tu vas lancer une 1ère requête avec les 5 premiers caractères de ton input et si pas de résultat, ben avec les 4 premiers... jusqu'à ce que tu trouves l'indicatif.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1919771
casimimir
Posté le 31-08-2009 à 10:11:56  profilanswer
 

un truc dans le genre, et la en fonction de ton sgbd et de ta manière d'interfacer les données tu choppes le premier record ou si tu as accès a des fonctions avancées tu les utilises.
 

Code :
  1. SELECT i.indicatif
  2. FROM tbl_indicatifs i
  3. WHERE substr(param_le_numero,1,length(i.indicatif)) = i.indicatif
  4. ORDER BY length(i.indicatif) DESC

n°1919893
betsamee
Asterisk Zeperyl
Posté le 31-08-2009 à 14:21:24  profilanswer
 

merci de votre aide je pense que la solution de casimimir est nickel


---------------
un blog sur Asterisk
n°1920163
MagicBuzz
Posté le 01-09-2009 à 10:19:51  profilanswer
 

Plutôt que d'utiliser SUBSTR, j'utiliserais "param_le_numero  LIKE concat(i.indicatif, '%')" dans la requête de casimimir. Ca peut éventuellement améliorer légèrement les perfs.
 
Autre point, dans la table des indicatifs, stocker le length() de l'indicatif, histoire de ne pas avoir à le recalculer à la volée.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Trouver un l'indicatif le plus proche en SQL

 

Sujets relatifs
Trouver les doublons sur Excel[PHP] injection sql (MS SQL)
Erreur de syntaxe SQL. Help ![ACCESS] Indirections SQL ?
fonction SQL qui fonctionne impec sous phpmyadmin mais pas en php !Problème de procédure PL/SQL pour lancer un batch sur ordonnanceur
Permettre à un site de récuperer des données SQL d'un autre site ?Requête SQl
SQL Server management 
Plus de sujets relatifs à : Trouver un l'indicatif le plus proche en SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR