mit gesplittetem String volle Übereinstimmung finden

11/09/2008 - 12:03 von Ronald Siegel | Report spam
Hallo

Ich habe ein Problem mit einer Abfrage und hoffe, dass der sehr
vereinfachte Aufbau verstàndlich genug ist:

Tab1: ID (PK)
Worte varchar

Tab2: ID(PK)
Tab1_ID (FK)
gesplittete_Worte varchar

Tab3: ID(PK)
Saetze varchar

Tab4: Tab3_ID
Tab2_ID

Beispiel:
Tab1 enthàlt z.B. folgendes
ID Worte
1 Beispiel eins
2 Beispiel zwei

Tab2 enthàlt dann
ID Tab1_ID gesplittete_Worte
1 1 Beispiel
2 1 eins
3 2 Beispiel
3 2 zwei

Tab3 enthàlt beispielsweise
ID Saetze
1 Das ist Beispiel eins
2 Das ist Beispiel zwei
3 Das ist eins
4 Noch ein Beispiel eins

Tab4 enthàlt dann
Tab3_ID Tab2_ID
1 1
1 2
2 1
3 2
4 1
4 2

Ich möchte erreichen, wenn ich z.B. Satz 4 (Tab3) gegeben habe, dass mir
dann alle Sàtze gegeben werden, die ebenfalls "Beispiel eins" aus Tab1
liefern. Ich erreiche nur, dass mir immer alle Sàtze geliefert werden, da
alle entweder "Beispiel" oder "eins" enthalten. Es darf aber nur dann
ausgewàhlt werden, die auch die Anzahl der gesplitteten Worte mit den des
Ursprungssatzes übereinstimmt.

Stand ist folgender (und leider falsch):
SELECT DISTINCT
Tab3.ID AS,
Tab1.Worte
FROM
Tab1 INNER JOIN
Tab2 ON Tab1.ID = Tab2.Tab1_ID INNER JOIN
Tab4 ON Tab2.ID = Tab4.Tab2_ID INNER JOIN
Tab3 ON Tab4.Tab3_ID = Tab3.ID INNER JOIN
(SELECT DISTINCT Tab1_1.Worte
FROM KREDABL.HtmlInhalt INNER JOIN
Tab4 AS Tab4_1 ON
Tab3_1.ID = Tab4_1.Tab3_ID INNER JOIN
Tab2 AS Tab2_1 ON
Tab4_1.Tab2_ID = Tab2_1.ID INNER JOIN
Tab1 AS Tab1_1 ON Tab2_1.Tab1_ID = Tab1_1.ID
WHERE (Tab3.ID = 4)) AS derivedtbl_1 ON
Tab1.Worte = derivedtbl_1.Worte
WHERE (Tab3.ID <> 4)

Ich danke für Tipps im Voraus.
Mit besten Grüßen,
Ronald
 

Lesen sie die antworten

#1 Ronald Siegel
11/09/2008 - 12:32 | Warnen spam
Hallo,

Sorry, OT. Ich stelle die Frage in
microsoft.public.de.german.entwickler.dotnet.datenbank
erneut.
Grüße,
Ronald

Ähnliche fragen