Ich muss eine durch Kommas getrennte Zeichenfolge für SQL AND-Bedingung für jedes Wort verwenden

Ich habe also einen Parameter. Sagen wir:

@Tags = 'Red,Large,New'

Ich habe ein Feld in meiner Tabelle mit dem Namen [Tags]

Nehmen wir an, eine bestimmte Zeile in diesem Feld enthält "Rot, Groß, Neu, Etwas anderes, UndEtwas anderes".

Wie kann ich das auseinander brechen, um im Grunde die folgende Logik zu erreichen, die ich zum Verständnis eintippen werde, von der ich jedoch weiß, dass sie falsch ist:

SELECT * FROM MyTable WHERE
Tags LIKE 'FirstWordInString'
AND Tags Like 'SecondWordInString'
AND Tags Like 'ThirdWordInString'

Aber es weiß, wo es aufhören soll? Weiß, ob es nur ein Wort gibt? Oder zwei? Oder drei?

Arbeitsablauf:

Jemand klickt auf ein Tag und das Dataset wird nach diesem Tag gefiltert. Sie klicken auf einen anderen, und das Tag wird an das Suchfeld angehängt. Der Datensatz wird dann nach diesen beiden Tags usw. gefiltert.

Vielen Dank!

Aktualisieren:

Dies ist eine produktbezogene Situation.

Wenn ein Produkt erstellt wird, kann der Ersteller Such-Tags eingeben, die durch Kommas getrennt sind.Beim Einfügen des Produkts werden die Such-Tags in eine separate Tabelle mit dem Namen ProductTags (ProductID, TagID) eingefügt.

Daher habe ich in der Product-Tabelle ein Feld, in dem sie für Anzeigezwecke auf der Anwendungsseite durch Zeichenfolgen getrennt sind. Dieselben Tags befinden sich auch in der ProductTag-Tabelle, die auf der Grundlage der ProductID durch Zeilen getrennt sind.

Was ich nicht verstehe, ist, wie man die Bedingung in die Auswahl platziert, die Ergebnisse liefert, wenn alle Tags in der Suche für dieses Produkt vorhanden sind.

Ich dachte, es wäre einfacher, nur das durch Kommas getrennte Feld zu verwenden, aber vielleicht sollte ich die entsprechende Tabelle (ProductTags) verwenden

Antworten auf die Frage(3)

Ihre Antwort auf die Frage