AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL maximale Teilstring
Thema durchsuchen
Ansicht
Themen-Optionen

SQL maximale Teilstring

Ein Thema von neuronet · begonnen am 20. Nov 2005 · letzter Beitrag vom 20. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von neuronet
neuronet

Registriert seit: 16. Aug 2005
Ort: Berlin
104 Beiträge
 
Delphi 2010 Architect
 
#1

SQL maximale Teilstring

  Alt 20. Nov 2005, 17:02
Datenbank: Access • Zugriff über: ADO
Brüte nun schon seit Tagen über dem folgenden Problem:

Ich habe eine Datenbank mit ca. 160000 Einträgen, in der so ziemlich alle internationalen Vorwahlen gespeichert sind.

Nun habe ich eine bekomme ich eine Rufnummer (z.B. +237996428...).

In der Datenbank sieht es wie folgt aus:
Code:
Index   Vorwahl   Land   Kuerzel   Art   Stadt   
23076   237   Cameroon   CMR                        
23077   23722   Cameroon   CMR   FIX   Camtel                  
23078   237230   Cameroon   CMR   FIX   Camtel                  
23079   237231   Cameroon   CMR   FIX   Camtel                  
23080   237332   Cameroon   CMR   FIX   Camtel                  
23081   237333   Cameroon   CMR   FIX   Camtel                  
23082   237334   Cameroon   CMR   FIX   Camtel                  
23083   237335   Cameroon   CMR   FIX   Camtel                  
23084   237336   Cameroon   CMR   FIX   Camtel                  
23085   237337   Cameroon   CMR   FIX   Camtel                  
23086   237338   Cameroon   CMR   FIX   Camtel                  
23087   237339   Cameroon   CMR   FIX   Camtel                  
23088   23734   Cameroon   CMR   FIX   Camtel                  
23089   23776   Cameroon   CMR   MOB   MTN-Cameroon               
23090   23777   Cameroon   CMR   MOB   MTN-Cameroon               
23091   23798   Cameroon   CMR   MOB   SCM-Mobilis               
23092   23799   Cameroon   CMR   MOB   SCM-Mobilis

Nun soll die passendeste Vorwahl zur Rufnummer aus der Datenbank herausgesucht werden (in diesem Fall wäre das also 23799...

Gibt es eine SQL Funktion, die mir dabei hilf, oder muss ich die Nummer hinten so lange abschneiden und neu suchen, bis ich einen Treffer erhalte???
Andreas
--- Der Wert der Leistung liegt im Geleisteten --- Albert Einstein

Mein erstes Baby: Apple I - Der Rechner ist genauso alt wie ich... Und steht noch immer im Keller...
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 17:52
Wenn ich davon ausgehe, dass Vorwahl ein varchar ist (und nicht etwa ein int), würd ichs mal so probieren:
select Vorwahl, Land, Stadt from Vorwahlen where Vorwahl < '237996428order by Vorwahl desc Der erste Eintrag in deinem Resultset sollte dann der best passendsde sein.

Nach Möglichkeit würde ich aber noch die Datenmenge beschränke da sonst unter Umnständen alle 160000 Datensätze zum Client gehen. (Stichwort TOP unter MSSQL bzw. LIMIT unter MySQL)
  Mit Zitat antworten Zitat
Benutzerbild von neuronet
neuronet

Registriert seit: 16. Aug 2005
Ort: Berlin
104 Beiträge
 
Delphi 2010 Architect
 
#3

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:04
Man möge Jelly einen Orden verleihen.

Danke für die schnelle Hilfe...

Hatte wohl mal wieder ein Brett vor dem Kopf...


Andreas
--- Der Wert der Leistung liegt im Geleisteten --- Albert Einstein

Mein erstes Baby: Apple I - Der Rechner ist genauso alt wie ich... Und steht noch immer im Keller...
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:07
@Jelly: Müsste es nicht <= sein?

MfG
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:17
Zitat von omata:
Müsste es nicht <= sein?
Hmmm... warum eigentlich nicht? Somit kann man auch direkt nach der Vorwahl suchen, und muss nicht die ganze Rufnummer eingeben... Stimmt also.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:18
Hai neuronet,

unabhängig von deiner Frage (die ja beantwortet ist).

Zitat von neuronet:
In der Datenbank sieht es wie folgt aus:
Code:
Index   Vorwahl   Land   Kuerzel   Art   Stadt   
23076   237   Cameroon   CMR                        
23077   23722   Cameroon   CMR   FIX   Camtel                  
23078   237230   Cameroon   CMR   FIX   Camtel                  
.
.
Ist der Aufbau der Tabelle relativ schlecht. Als "Vorwahl" wird dort ja die zusammenfassung von LKZ und OKZ genommen. Wäre es nicht besser das ganze aufzuteilen? Die LKZ der Republik Kamerun (Republic of Cameroon) ist ja 237. Alles was danach noch kommt sind die OKZ.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von neuronet
neuronet

Registriert seit: 16. Aug 2005
Ort: Berlin
104 Beiträge
 
Delphi 2010 Architect
 
#7

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:20
Stimmt auch wieder.

Aber das Begrenzen der Datenmenge ist egal, da der Server genug Rechenleistung hergibt (Chefchen war richtig spendabel... ) und es sowieso nur 10-20 Abfragen pro Minute werden...
Andreas
--- Der Wert der Leistung liegt im Geleisteten --- Albert Einstein

Mein erstes Baby: Apple I - Der Rechner ist genauso alt wie ich... Und steht noch immer im Keller...
  Mit Zitat antworten Zitat
Benutzerbild von neuronet
neuronet

Registriert seit: 16. Aug 2005
Ort: Berlin
104 Beiträge
 
Delphi 2010 Architect
 
#8

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:21
Das Problem ist, dass ich die Daten so von der ITU bekommen habe und wahrlich keine Lust habe, das ganze Zeugs auseinanderzuklabustern... Und da alles in einem ist, lässt es sich ja wohl auch einfacher suchen, da ich eh immer nur komplette Telefonnummern auswerten muss...
Andreas
--- Der Wert der Leistung liegt im Geleisteten --- Albert Einstein

Mein erstes Baby: Apple I - Der Rechner ist genauso alt wie ich... Und steht noch immer im Keller...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:22
Zitat von neuronet:
....Aber das Begrenzen der Datenmenge ist egal, ...
Mir ging es auch mehr darum die Daten die nicht zusammen gehören auch nicht zusammen zu speichern.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von neuronet
neuronet

Registriert seit: 16. Aug 2005
Ort: Berlin
104 Beiträge
 
Delphi 2010 Architect
 
#10

Re: SQL maximale Teilstring

  Alt 20. Nov 2005, 18:25
@Sharky: Das Begrenzen betraf Jelly's Anmerkung zum Begrenzen bei der Suche wegen der Menge der Datensätze...

Dass LKZ und ONK eigentlich nicht zusammen gehören ist schon klar.

Aber wie gesagt... Hab' keine Lust auf Klabusterbärchen...
Andreas
--- Der Wert der Leistung liegt im Geleisteten --- Albert Einstein

Mein erstes Baby: Apple I - Der Rechner ist genauso alt wie ich... Und steht noch immer im Keller...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz