2016-05-23 5 views
0

Wie zeige ich Ergebnis durch SELECT ... WHERE LIKE mit Wortfeld an?MySQL WHERE LIKE durch Wort mit Komma

Ich habe dieses SELECT * FROM tbl_question WHERE word LIKE '%How are you?%' versucht, aber es funktioniert nicht.

tbl_question

+-------------+-------------------+------------+ 
| question_id | question   | word  | 
+-------------+-------------------+------------+ 
| 1   | How are you?  | How  | 
| 2   | What's your name? | What, name | 
| 3   | Hi there!   | Hi   | 
| 4   | Hi, How are you? | Hi, How | 
+-------------+-------------------+------------+ 

Beispiel: Wenn ich "How are you?" suchen, werden Sie Ergebnisse von zwei Zeilen wie angezeigt:

+-------------+-------------------+------------+ 
| question_id | question   | word  | 
+-------------+-------------------+------------+ 
| 1   | How are you?  | How  | 
| 4   | Hi, How are you? | Hi, How | 
+-------------+-------------------+------------+ 

oder wenn ich "Your name is?" es führen angezeigt wird wie:

+-------------+-------------------+------------+ 
| question_id | question   | word  | 
+-------------+-------------------+------------+ 
| 2   | What's your name? | What, name | 
+-------------+-------------------+------------+ 
+0

Siehe Normalisierung. – Strawberry

Antwort

1

Sie können u se regexp diese Weise

select * from my_table where question REGEXP 'How|are|you|'; 
+0

Was ist, wenn ich "Wie geht es dir?" auf meinem Suchformular wird es als Originaltext gesendet Wie kann ich Ihren Code verwenden? –

+0

Teilen Sie Ihre Wortspalten-Anzeigenformatierung für regexp – scaisEdge

+0

Verwenden Sie Server-Seitencode für den Aufbau einer dynamisch generierten SQL. – scaisEdge

0

Try this:

SELECT * FROM tbl_question WHERE question LIKE '%How are you?%' 
+0

Danke, aber ich möchte 'WHERE Wort' verwenden –

0

SELECT * FROM tbl_question WHERE Wort LIKE '% Wie geht es dir%?'

Durch diese Datenbank versuchen, ‚Sie geben zurück 'alle Daten, die genau mit dem Satz beginnen Wie geht es dir? und wie ich in dem Wort sehe, hast du nur bestimmte Wörter.

habe ich den Tisch und eingefügten Daten hinein und ich verwende die Abfrage

SELECT 
     question FROM Custom WHERE word LIKE '%What%' 

so gab mir es Ihre zweite Frage zurück.

Wenn Sie können, erklären Sie mir, was genau Sie anzeigen möchten.

+0

Beispiel: Ich gebe" Wie geht es dir? " auf meinem HTML-Suchformular und reichen Sie ein, um nach Wortspalten zu suchen, um Ergebnisse zu erhalten. –

+0

Sie sollten immer das erste Wort aus der Eingabe in eine Zeichenfolge speichern und verwenden Sie die Abfrage: SELECT Frage von benutzerdefinierten WHERE Wort wie '% custom_word%' –

0

Sie nehmen falsche Spalte name.please ersetzen Sie es mit question.try dies. SELECT * FROM tbl_question WHERE question LIKE %How are you%

+0

Danke, aber ich nehme nicht falsch, ich weiß, dass ich es ersetzen sollte mit Frage-Spalte, aber ich muss Wortspalte verwenden. –