![]() |
Datenbank: Access • Zugriff über: ADO
SQL maximale Teilstring
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??? |
Re: SQL maximale Teilstring
Wenn ich davon ausgehe, dass Vorwahl ein varchar ist (und nicht etwa ein int), würd ichs mal so probieren:
SQL-Code:
Der erste Eintrag in deinem Resultset sollte dann der best passendsde sein.
select Vorwahl, Land, Stadt from Vorwahlen where Vorwahl < '237996428' order by Vorwahl desc
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) |
Re: SQL maximale Teilstring
Man möge Jelly einen Orden verleihen.
Danke für die schnelle Hilfe... Hatte wohl mal wieder ein Brett vor dem Kopf... :wall: :wall: :wall: |
Re: SQL maximale Teilstring
@Jelly: Müsste es nicht <= sein?
MfG Thorsten |
Re: SQL maximale Teilstring
Zitat:
|
Re: SQL maximale Teilstring
Hai neuronet,
unabhängig von deiner Frage (die ja beantwortet ist). Zitat:
|
Re: SQL maximale Teilstring
Stimmt auch wieder.
Aber das Begrenzen der Datenmenge ist egal, da der Server genug Rechenleistung hergibt (Chefchen war richtig spendabel... :-D ) und es sowieso nur 10-20 Abfragen pro Minute werden... |
Re: SQL maximale Teilstring
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...
|
Re: SQL maximale Teilstring
Zitat:
|
Re: SQL maximale Teilstring
@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... |
Re: SQL maximale Teilstring
Die Lieferung nicht-normalisierter Daten scheint branchentypisch zu sein - wurde in diesem thread ja auch schonmal durchgekaut:
![]() Grüße vom marabu |
Re: SQL maximale Teilstring
Zitat:
EDIT: War mal wieder zu schnell und hab ![]() |
Re: SQL maximale Teilstring
@Jelly:
Hast ja recht... Hab' das Access Teil gerade über den Jordan geschickt und die Daten in 'ne MysSQL eingespielt... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz