JOIN ON WIE Problem WHERE EXISTS in SQL Server

8

Ich versuche, eine Tag-Suche funktionieren zu lassen, und es funktioniert meistens mit Ausnahme von LIKE-Tag-Übereinstimmungen.

Ich habe SQLFiddle Beispielcode hinzugefügt, um damit zu spielen, und habe es auch hier eingefügt:

Tabellen und Daten

%Vor%

Abfrage

%Vor%

Ich möchte Ergebnisse erzielen, wenn die Tags.Description exakt mit der Beschreibung in @MandatoryTagXml übereinstimmt und der AttendieTags.Value wie der in @MandatoryTagXml angegebene Wert

ist

Ohne die folgende Zeile funktionieren die Dinge wie erwartet (d. h. wenn es eine genaue Übereinstimmung mit dem XML gibt)

%Vor%

Aber wenn ich es einfüge, bekomme ich falsche Ergebnisse. Zum Beispiel sollte die Einstellung Wert beide Attendee.Id's zurückgeben, aber es werden keine Ergebnisse zurückgegeben.

Ich habe verschiedene Kombinationen von EXISTS und NOT EXISTS und EXCEPT und INTERSECT usw. ausprobiert, kann sie aber nicht unter allen Umständen zum Laufen bringen.

Kann jemand Vorschläge machen, wie es funktioniert?

    
Yetiish 09.09.2013, 14:29
quelle

2 Antworten

2

Ich denke, dein Join ist komplizierter als nötig ...

%Vor%

Update: Ich habe SQL geändert, um Übereinstimmungen für alle Tags in der XML-Datei zu erzwingen.

    
David 09.09.2013, 14:46
quelle
1

In Unterabfrage ersetzen C.value mit AT.value, hier ist der Link:
Ссылка

%Vor%     
Sonam 09.09.2013 14:44
quelle

Tags und Links