MSSQL Abfragen, wo Spalteninhalt in Vergleichsparameter enthalten sein soll...
Hallo,
ich habe ein Problem mit einer MSSQL-Abfrage, die ich machen will.
Es gibt beispielsweise 3 mögliche Vergleichsparameter, wie
- "weiße Schokolade"
- "braune Schokolade"
- "bittere Schokoladen"
und in einer Tabelle, die ich abfrage, steht nun z.B. in `Tabelle1$`.SPALTE1 in irgendeiner Zeile
" Schokolade".
Dieser Eintrag soll für alle 3 Parameter gefunden werden.
Prinzipiell bedeutet das, dass also der Spalteneintrag in dem Suchparameter quasi als Substring
enthalten sein muss.
Doch wie kann ich das formulieren?
Ich habe verschiedenes in MSQRY32 versucht, wie z.B.:
SELECT * FROM `c:\tabelle`.`Tabelle1$` Tabelle1
WHERE '%`Tabelle1`.SPALTE1%' LIKE "braune Schokolade"
oder
...
WHERE '%'+Tabelle1`.SPALTE1+'%' LIKE "braune Schokolade"
Leider ohne erfolg.
Frage: Wie kann man erfolgreich einen String mit Regexes zusammenbauen, am Beispiel dieser Where-Klausel
oder gibt es gar eine Funktion, die prüfen kann, ob ein Spalteneintrag als "Substring" in einem String enthalten ist?
Vielen Dank im Voraus für Eure Antworten.
Grüße,
Mondragor
ich habe ein Problem mit einer MSSQL-Abfrage, die ich machen will.
Es gibt beispielsweise 3 mögliche Vergleichsparameter, wie
- "weiße Schokolade"
- "braune Schokolade"
- "bittere Schokoladen"
und in einer Tabelle, die ich abfrage, steht nun z.B. in `Tabelle1$`.SPALTE1 in irgendeiner Zeile
" Schokolade".
Dieser Eintrag soll für alle 3 Parameter gefunden werden.
Prinzipiell bedeutet das, dass also der Spalteneintrag in dem Suchparameter quasi als Substring
enthalten sein muss.
Doch wie kann ich das formulieren?
Ich habe verschiedenes in MSQRY32 versucht, wie z.B.:
SELECT * FROM `c:\tabelle`.`Tabelle1$` Tabelle1
WHERE '%`Tabelle1`.SPALTE1%' LIKE "braune Schokolade"
oder
...
WHERE '%'+Tabelle1`.SPALTE1+'%' LIKE "braune Schokolade"
Leider ohne erfolg.
Frage: Wie kann man erfolgreich einen String mit Regexes zusammenbauen, am Beispiel dieser Where-Klausel
oder gibt es gar eine Funktion, die prüfen kann, ob ein Spalteneintrag als "Substring" in einem String enthalten ist?
Vielen Dank im Voraus für Eure Antworten.
Grüße,
Mondragor
Please also mark the comments that contributed to the solution of the article
Content-Key: 202312
Url: https://administrator.de/contentid/202312
Printed on: April 20, 2024 at 03:04 o'clock
7 Comments
Latest comment
Hallo Mondragor,
das müsste mit folgendem RegEx klappen:
Getestet unter http://regexpal.com/ mit folgendem Suchtext.
G Jörg
das müsste mit folgendem RegEx klappen:
(braune|weiße|bittere)? Schokolade(n)?
Getestet unter http://regexpal.com/ mit folgendem Suchtext.
Das ist braune Schokolade
Das ist weiße Schokolade
Das sind bittere Schokoladen
Das ist nur Schokolade
Das ist gelbe Schokolade
G Jörg
Hallo Mondragor,
Wenn es genau umgekehrt ist, dann schreib es doch auch genau umgekehrt::
Gruß, Mad Max
Zitat von @Mondragor:
Hier ist es aber genau umgekehrt. Quasi
WHERE '%`Tabelle1`.Spalte1%' LIKE 'Parameter'
Hier ist es aber genau umgekehrt. Quasi
WHERE '%`Tabelle1`.Spalte1%' LIKE 'Parameter'
Wenn es genau umgekehrt ist, dann schreib es doch auch genau umgekehrt::
where 'Parameter' like '%' + Tabelle1.Spalte1 + '%'
Gruß, Mad Max