CONTAINS Problem mit der Abfrage

Hallo zusammen!

Ich versuche folgende Aufgabenstellung zu lösen:
Es existieren zwei Artikel-Tabellen tabelle_1 und tabelle_2. Die Aufgabe besteht darin diejenigen Artikel n aus der tabelle_1 zu finden, die auch in tabelle_2 vorkommen.
Die Artikelbezeichnungen sind oft unterschiedliche geschrieben.

Bsp.:
tabelle_1 (feld_name): Tennisball „Schroeer“, Farbe weiss
tabelle_2 (feld_name): „Schroeer“ Tennisball
Annahme: Beide Artikel sind trotz unterschiedlicher Schreibweise gleich.

Ich möchte mithilfe von CONTAINS und des Volltextindexes eine Abfrage bauen, die folgendes überprüft:
Wenn tabelle_1 (feld_name) aus einem Wort besteht soll überprüft werden, ob dieses irgendwo im tabelle_2 (feld_name) vorkommt.
Wenn sich tabelle_1 (feld_name) aus zwei Wörtern zusammensetzt, wie im obigen Bsp. soll überprüft werden, ob das erste und das zweite Wort aus tabelle_1 (feld_name) an irgendeiner Position in tabelle_2 (feld_name) vorkommen.
Im obigen Fall gäbe es eine Übereinstimmung!

Bis jetzt habe ich das Problem mithilfe von
tabelle_1 (feld_name) LIKE (‘%’+(CASE WHEN tabelle_2(feld_name)…. THEN…. ELSE …. END) lösen können, jedoch ist die ganze Angelegenheit, bei sehr vielen Daten, ziemlich zeitintensiv .
Wie könnte eine Abfrage für mein vorhaben aussehen?

SELECT *
FROM tabelle_1 t, tabelle_2 a
WHERE CONTAINS(t.feld1, a….)
AND……

Für jede Anregung bin ich SEHR dankbar

LG

user_

Hallo user_ (oder darf ich Peter sagen?),

da Textfunktionen in SQL kein Standard sind, fehlt die Angabe der Datenbank und die verwendete Funktion.

Wieso das genannte Beispiel übrigens ein Treffer sein soll, ist fraglich

tabelle\_1 (feld\_name): Tennisball „Schroeer“, Farbe weiss
tabelle\_2 (feld\_name): „Schroeer“ Tennisball
tabelle\_3 (feld\_name): „Weiss“ Tennisball, bemalt von Schroeer

oder woher weisst Du, dass der Nachsatz ignoriert werden kann?

Wenn die Ähnlichkeitssuche schon ohne professionelles Tool stattfinden soll: Ein kleiner Tipp zum Vorgehen: Bau Dir eine Worttabelle auf und ein Tabelle, die die Anwesenheit der Wörter in den einzelnen Datensätzen festhält. Dann kann man ggf. auch mit Fehlschreibweisen umgehen.

Word-Id Wort
 1 Tennisball
 2 Schroeer
 3 Farbe
 4 weiss
 5 bemalt
 6 von
 7 Tenisball

Word-ID Tabelle Record-Nr
 1 tabelle\_1 x
 2 tabelle\_1 x
 3 tabelle\_1 x
 4 tabelle\_1 x
 1 tabelle\_2 y
 2 tabelle\_2 y
 1 tabelle\_3 z
 2 tabelle\_3 z
 5 tabelle\_3 z
 4 tabelle\_3 z
 6 tabelle\_3 z

MfG Georg V.

Hallo Georg,
danke für Deine Antwort!

Mein Frage bezieht sich allerdings auf etwas anderes.

Kann man bei CONATINS Variablen verwenden?

Tab1
Bezeichnung Anzahl
Tennisball „Schroeer“, Farbe weiss 50

Tab2
Bezeichnung Anzahl
„Schroeer“ Tennisball 10

Es soll überprüft werden, ob die Bezeichnung aus der Tab1 mit der aus der Tab2 übereinstimmt.
In dem obigen Bsp. ist das der Fall:

SELECT * FROM tab1 a, tab2 b WHERE a.bezeichnung like (‘%’+(CASE WHEN b.bezeichnung…. THEN…. ELSE …. END)
–> es wird in der CASE überprüft, ob z.B. Schroeer in der a.bezeichnung irgendwo vorkommt.

Ich möchte das Problem aus Performancegründen mit CONTAINS lösen (es sollen vielen Zeilen untersucht werden!)

LG
user_

PS: Peter? Nein, ich heiße nicht Peter…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]