Hallo Leute,
ich weiß nicht, wonach ich suchen muss, um die Lösung zu finden ... daher direkt meine Frage.
Beispieltabelle:
------------------------------
id | text
------------------------------
1 | test
2 | beispiel
3 | test beispiel
4 | beispiel test
------------------------------
Nun habe ich ein Suchformular, in dem "test beispiel" eingegeben wird.
Herauskommen sollen die Datensätze 3 UND 4. Wie muss die Abfrage lauten?
select * from Beispieltabelle where text like '%test%beispiel%'
-> es kommt nur Datensatz 3
select * from Beispieltabelle where text like '%test%' and text like '%beispiel%'
-> es kommen Datensätze 3 und 4
Letzteres ist ja schön und gut, aber da ich ein vorfurmuliertes SQL-Statement (Stored Procedure im MS-SQL-Server) nutzen möchte, in der Art ...
select * from Beispieltabelle where text like '%' + @suchString + '%'
... möchte ich dem Statement nur eine Variable übergeben (@suchstring = 'test%beispiel'), um meine Treffer zu bekommen.
Gibt es irgendeine Möglichkeit zu umgehen, dass ich für jeden einzelnen Suchbegriff ein eigene where-Einschränkung einsetzen muss?
Das Ganze soll natürlich möglichst dynamisch sein und eben unabhängig von der Reihenfolge der eingegebenen Suchbegriffe.
Gruß, Jokin
ich weiß nicht, wonach ich suchen muss, um die Lösung zu finden ... daher direkt meine Frage.
Beispieltabelle:
------------------------------
id | text
------------------------------
1 | test
2 | beispiel
3 | test beispiel
4 | beispiel test
------------------------------
Nun habe ich ein Suchformular, in dem "test beispiel" eingegeben wird.
Herauskommen sollen die Datensätze 3 UND 4. Wie muss die Abfrage lauten?
select * from Beispieltabelle where text like '%test%beispiel%'
-> es kommt nur Datensatz 3
select * from Beispieltabelle where text like '%test%' and text like '%beispiel%'
-> es kommen Datensätze 3 und 4
Letzteres ist ja schön und gut, aber da ich ein vorfurmuliertes SQL-Statement (Stored Procedure im MS-SQL-Server) nutzen möchte, in der Art ...
select * from Beispieltabelle where text like '%' + @suchString + '%'
... möchte ich dem Statement nur eine Variable übergeben (@suchstring = 'test%beispiel'), um meine Treffer zu bekommen.
Gibt es irgendeine Möglichkeit zu umgehen, dass ich für jeden einzelnen Suchbegriff ein eigene where-Einschränkung einsetzen muss?
Das Ganze soll natürlich möglichst dynamisch sein und eben unabhängig von der Reihenfolge der eingegebenen Suchbegriffe.
Gruß, Jokin
Kommentar