PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [MySQL]: select auf alle Datensätze, deren Feld x einen Wert y enthält


mf_2
2011-06-12, 14:00:42
Hallo zusammen,

leider ist mir kein besserer Titel eingefallen.
Mein Problem ist folgendes:
Ich habe einen Wert y = "Dies ist ein Satz.".
Nun sollen in einer MySQL Tabelle alle Datensätze gewählt werden, die in der Spalte x wenigstens ein Wort von y haben.
Also z.B. sowas:
x = "ist"
x = "ist ein"
x = "Dies"

Sowas soll nicht gewählt werden:
x = "in"
x = "atz"

Entweder stehe ich gerade auf dem Schlauch oder die Lösung ist nicht so trivial, aber ich komme gerade nicht auf die Lösung.
Ich habe schon an den IN Operator gedacht, der ist aber eher für Listen. LIKE bringt mich in dem Fall auch nicht weiter.
REGEXP wäre noch eine Möglichkeit, da sehe ich aber auch für mein Problem noch keine Lösung.

Wisst ihr eine Lösung oder lässt sich das so in MySQL nicht umsetzen?

Viele Grüße,
mf_2

Trap
2011-06-12, 14:20:37
Mit regular Expressions geht das.

Zwischen verschiedenen Alternativen wählt man in REGEXP mit |

AlecWhite
2011-06-12, 15:36:33
SELECT * FROM table WHERE x like "%ist%" or x like "%ein%"