PDA

Vollständige Version anzeigen : SQL Volltextsuche in allen Datenfeldern


tkaefer
16.11.2000, 15:01
Hallo,

ich suche einen (SQL-) Befehl (Abfrage) der in einer Tabelle alle Datensätze heraussucht, in denen irgendwo in einem beliebigen Feld einen bestimmte Zeichenkette vorkommt (also Volltextsuche in allen Datensätzen). Also z.B. in einer Adresstabelle alle Datensätze rauswirft, in denen das Wort "Aachen" vorkommt, wobei "Aachen" sowohl in einem Feld "Ort" wie auch z.B. in "Bemerkungen" vorkommen kann. Wer weis die Syntax für die SQL-Abfrage ?

Danke im Voraus

ACCStefan
21.11.2000, 09:27
Hy,
probiers mal mit:
Delete from firma where (select vname,zname,ort,plz,adresse
from firma
where vname like 'Aachen'
or zname like 'Aachen'
or ort like 'Aachen'
or plz like 'Aachen'
or adresse like 'Aachen')

Gruß
ACCStefan

tkaefer
21.11.2000, 12:33
Danke,

vom Prinzip her funktioniert das (habe es so aehnlich geloest). Schoener waere eine wirkliche Volltextsuche uber alle Felder (ohne die Felder explizit zu nennen), aber das geht wohl nur serverseitig ab einer bestimmten SW-Release.

Danke, Tom

toni diaz
04.12.2002, 11:08
Erstens würde ich eine Volltextindizierung auf alle Spalten erstellen die es betrifft.
Dann mit dem Befehl contains oder freetext arbeiten. Diese sind viel schneller und greifen direkt auf den Volltextkatalog.

....where contain(spalte, ' "Aachen" ')

Problem aber, das ich auch habe ist das nur das ganze Wort hier gesuch wird oder Linksbündig in der Spalte steht dann siehts so aus:

....where contain(spalte, ' "Aachen*" ')

ist echt super schnell!!!

Wirkliche freie Suche innerhalb der Spalte kann man mi dem was ich bis jetzt weiß nur mit :
like '%searchstring%'

Gruß

Toni

Wenn Du eine andere Lösung weißt gib mir doch bescheid.