Suchproblem - exacte suche

Kurt Cobain

Erfahrenes Mitglied
Tag TAg

hab da ne suche auf meiner seite.

in der ersten Zeile soll immer der exacte suchbegriff kommen,

in den folgenden, die die so ähnlich sind:

exact:
PHP:
$abfrage2 = "SELECT * FROM tabelle WHERE row = '$search'  ";
$ergebnis2 = mysql_query($abfrage2)  or die (mysql_error());

ähnlich:
PHP:
$abfrage2 = "SELECT * FROM tabelle WHERE row LIKE  '%$search%'  ";
$ergebnis2 = mysql_query($abfrage2)  or die (mysql_error());

jetzt hab ich das problem, dass in der ähnlichen suche auch das ergebniss der exacten suche
ausgegeben wird,

also dass man 2 mal das gleiche suchergebniss hat.

wie kann ich ändern, dass bei der ähnliche suche nicht das exacte ausgegeben wird?

min NOT vielleicht


greez
 
Wie wäre es mit einer einfachen Verknüpfung der boolschen Algebra:
Code:
SELECT * 
FROM tabelle 
WHERE row LIKE '%$search%' AND row != '$search'
Gruß hpvw
 
Es gibt - zumindest bei Oracle - auch das Schlüsselwort MINUS, was relativ selten zum Einsatz kommt.

Das hieße also dann
Code:
SELECT * FROM tabelle WHERE row LIKE  '%$search%' 
MINUS
SELECT * FROM tabelle WHERE row = '$search'

Damit werden die Datensätze aus der Zweiten Abfrage aus der ersten entfernt. Scheint aber nicht in MySQL zu funktionieren

hpvws Lösung funktioniert natürlich auch, würde ich sagen.
 
Zurück