MySQL wenn Abfrage kein Resultat dann Abfrage erweitern ...
Chrisi
- datenbank
0 Vinzenz Mai0 Chrisi
Hi zusammen,
ich habe hier eine Abfrage die aus einer DB Artikel laden soll, nun möchte ich hergehen und einmal "Scharf" abfragen, wenn diese Abfrage aber kein Ergebnis erziehlt soll anstatt "+word +word" über Fuzzy gesucht werden "word word" ...
Mein Problem dabei ist das ich 2mal eine Query sende, ich starte einmal die scharfe Abfrage und prüfe dann das Resultat, dannach dann Fuzzy wenn das Resultat = 0 ...
Meine Frage, kann man sowas auch in einer Query verarbeiten ?
Also:
SELECT COUNT(id) AS numrows,MATCH (title,description) AGAINST ('word word') AS relevance
FROM table
IF(
numrows > 0,
MATCH (i.title,i.description) AGAINST ('+word +word') IN BOOLEAN MODE),
MATCH (i.title,i.description) AGAINST ('word word')
)
GROUP BY id
Das ist jetzt nur eine Phantasie Query zu Demozwecken :-) Könnte mir aber vorstellen das sowas irgendwie funktioniert ...
Hat da jemand einen Tipp für mich ?
Danke mal wieder und Grüße,
Chrisi ...
Hallo Chrisi,
Mein Problem dabei ist das ich 2mal eine Query sende, ich starte einmal die scharfe Abfrage und prüfe dann das Resultat, dannach dann Fuzzy wenn das Resultat = 0 ...
SELECT COUNT(id) AS numrows,MATCH (title,description) AGAINST ('word word') AS relevance
Deine Syntax läßt vermuten, dass Du MySQL im Einsatz hast.
Hat da jemand einen Tipp für mich ?
Kein Problem für eine Stored Procedure. Ob Stored Procedures von Deinem DBMS unterstützt werden, kannst Du dem Handbuch entnehmen. Bei MySQL gibt es diese ab Version 5.0.
Daher meine Frage: Welches DBMS, welche Version?
Freundliche Grüße
Vinzenz
Hi Vinzenz,
Daher meine Frage: Welches DBMS, welche Version?
Ich nutze hier MySQL 5.0.15 (Standart). Diese Prozeduren sind dann sowas wie eine ausgelagerte Funktion die ich in meiner Query abrufen kann, richtig ?
Danke und Gruss
Chrisi