Platz in mysql like Suche
Ich habe ein problem mit mysql like-Schlüsselwort in bestimmten Zustand. Meine Forderung geht so.
Erste, wenn ich Suche für 'ABC'
sollte das Ergebnis finden ABC
und ABCdef
aber nicht xyzABCdef
oder xyzABC
. Es scheint zunächst einfach zu verwenden ABC%
. aber in der Zustand, wenn ich Suche für 'heart%'
es doesnot zurückgeben Zeile, die haben 'liver heart'
da gibt es nur die Zeile, die haben heart
am Anfang des Strings.Dann habe ich versucht, mit % heart%
.Diese zurückgegebenen Zeile mit 'liver heart'
aber nicht die Zeilen, die das Herz am Anfang der Zeichenkette. Bin ich irgendwie hier hängengeblieben..also Jungs helft mir.
BEARBEITEN
Mit Ihrer Hilfe Jungs, ich kam mit der folgenden Lösung, aber immer noch Ihre mir einige problem.
SELECT q.question_id, q.question, q.date,p.fname,p.lname,p.phys_id,
p.pic_path
FROM questions q JOIN physiciansprofile p ON p.phys_id=q.phys_id
WHERE q.question LIKE 'heart%' OR question LIKE '% heart%'
AND q.question LIKE 'liver%' OR q.question LIKE '% liver%'
ORDER BY q.date DESC LIMIT 0,10;
Aber diese Abfrage zurück heart failure
und symptoms liver
als gut.Gibt es eine Lösung für dieses. Ich brauche to get Ergebnis, das beide heart
und liver
und auch erfüllen muss-Bedingung, wie oben beschrieben. Gibt es irgendeine Lösung dieses
- können Sie Ihre ganze code?
Du musst angemeldet sein, um einen Kommentar abzugeben.
'% Herz,%' nicht, weil Sie Sie bitten, für alles, plus Raum plus Herz plus nichts.
Probieren Sie etwas wie:
was
'% heart%'
liver heart
heart
undheart failure
?Sah ich gerade diese alte, ungelöste Anfrage. Als jemand, der möglicherweise die gleiche Frage, ich poste die Antwort trotz der Anfrage das Alter.
übersetzt
da UND hat Vorrang vor ODER.
Ist, So muss man Klammern verwenden, hier. Dies ist Häufig der Fall, wenn Sie mischen und-UND ODER-und es ist eine gute Gewohnheit zu immer tun: