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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202312
Url: https://administrator.de/contentid/202312
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
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