Ich habe eine Tabelle [Auswahl], die Spalten Id, Id_purchase und Id_employee hat. Id ist der Primärschlüssel und alles ist vom Typ int.SQL Server suchen und ersetzen Wörter in der anderen Tabelle
Id | Id_purchase | Id_employee
1 | 1 | 1
Eine Tabelle [Angestellte] hat Id_employee (int) und Name varchar (250)
Id_employee | name
1 | name1
2 | name2
3 | name3
Eine Tabelle [Kauf] ist, hat Id_purchase (int) und Artikel ist varchar (250)
Id_purchase | article
1 | book1 pattern ABC
2 | book2 autor hjk abc
3 | book3 about xyz
4 | book4 JJJJ
und eine Tabelle [key_search] hat Id und Abfrage ist varchar (100).
ID | query
1 | book*abc
2 | book*about
Wie für jeden Mitarbeiter von [Mitarbeiter] erstellen Datensatz in die Tabelle [Auswahl] IDs aller Käufe aus der Tabelle [Kaufen], in dem es Wörter in der Tabelle angegebenen hinzufügen [key_search]. In einer Tabelle [key_search] "*" als Ersatz für eine beliebige Anzahl von Zeichen. Für Beispiel muss eine Abfrage wie "Buch * abc" REPLACE zu "% Buch% abc%" für die Suche in allen Kauf.
Weitere bitte klären, ist dieser Teil „Wie für jeden Mitarbeiter in der Tabelle hinzufügen [Auswahl] IDs alle neuen Einkäufe aus der Tabelle [Kauf], in der Wörter in der Tabelle [key_search] erwähnt werden. In einer Tabelle [key_search] mark * als Ersatz für eine beliebige Anzahl von Zeichen. " – TheGameiswar
Mit 'SQL' wird das ein Schmerz sein. Suchen Sie nach 'CLR'-Funktion, die Zeichenfolge und ein Muster erhält. Führen Sie dann die Ersetzungslogik in C# -Code aus und geben Sie den bearbeiteten Wert zurück. Wahrscheinlich werden Sie 2 'CLR'-Funktionen brauchen, eine für die Überprüfung auf Übereinstimmung, die Sie in der' WHERE'-Klausel verwenden und eine zweite für die Ersetzung, die Sie in der 'UPDATE'-Klausel verwenden. –
Ja, CLR-Funktion ist einfach, aber nur sql gelöst. –