Search String mit OR-Anweisung

MsvP@habdichliebhasi

Erfahrenes Mitglied
Hi zusammen,

folgendes Problem:

Ich habe eine Such-Anfrage an meine Datenbank, bei der verschiedenste Faktoren beachtet werden sollen, nach auswahl des Users für die Suche.

- Suchtext
- Bewertung
- Rubrik
... etc.

Soweit ist das ja auch kein Problem. Habe die Search-Anweisungen einfach per AND miteinander verbunden.
Jetzt möchte ich aber, dass der Suchtext in zwei verschiedenen Spalten der MySql Tabelle überprüft wird, davon muss aber lediglich ein Datensatz übereinstimmen, also entweder in der einen Spalte oder in der anderen.

Ich hatte diese Anweisung also folgendermaßen erstellt:
Suchtext = Erste Spalte OR Suchtext = Zweite Spalte

Problem ist nur, dass das OR jetzt alles andere ingoriert und sämtliche AND Anweisungen ignoriert, die vorher abgefragt wurden.

Leider ist es mir aufgrund meines Scriptes und der Art wie ich es Abrufe nicht möglich, die OR Anweisung bereits am Anfang abzufragen, da zunächst feste Komponenten abgefragt werden müssen.

Wie kann ich eine OR-Anweisung mit einer einzelnen AND-Anweisung verknüpfen, so dass sie sich wirklich nur auf diese bezieht?

Liebe Grüße
Micha
 
Der AND-Operator hat eine höhere Rangfolge als der OR-Operator. Das heißt der folgende Ausdruck:
Code:
a AND b AND c OR d
ist äquivalent zu folgendem, in dem die Rangfolge durch Klammern hervorgehoben wurden:
Code:
(((a AND b) AND c) OR d)
Wobei „((a AND b) AND c)“ wegen der Assoziativität äquivalent zu „a AND b AND c“ ist.

Probier deshalb mal Folgendes:
Code:
a AND b AND (c OR d)
 
Zurück