Also, was die Volltextindizierung angeht, das muss ich vermutlich im Enterprise Manager einstellen.
volltext bedeutet ja nichts weiter, als daß für jedes wort ein eintrag in einem speziellen index angelegt wird.
Dann den zu suchenden Kunden in Einzelteile zerlegen. ("In eine Liste zerlegen" heisst jetzt in meinem Quellcode, oder gibt es da bestimmte SQL-Listen?)
m$ gmbh sind 2 worte. die liste besteht aus 2 worten.
man hat nun 2 möglichkeiten:
entweder eine 2. tabelle neben der kundentabelle, welche die einzelnen worte mit dem kundenindex(kundenid) beinhaltet.
oder man baut den select so auf, daß jedes dieser worte in einer where bedingung erscheint.
Wie sieht dann der Vergleich jedes einelnen Teils aus ? Immer mit Soundex dann, ja ?
diese worte können auch als soundex in where erscheinen.
Und letzlich sagt mir das mit dem "mit sich selbst ge-joint" nichts.
ein self-join verbindet dieselbe tabelle mit sich selbst.
Könntest Du mir das noch etwas klarer machen ?
die worte müssen ja 'UND' verknüpft werden.
bei 2 worten wäre ein join (gibt 2 tabellen mit eigener where) nötig.
bei 3 worten 2 joins usw.
etwa so:
select k1.* from kunden k1 inner join kunden k2 using(kundenid)
where k1.name like %WORT1% and k2.name like %WORT2%
wobei WORT1 und WORT2 die wortliste ist. (m$ und gmbh)
die where bedingung kannst du natürlich auch anders gestalten.